0

我现在正在为 MMC3.0 编写一个管理单元,它应该支持 x64 和 x86 平台,但 GUID 应该不同。在 C++ 中,我知道有像 _WIN32 这样的宏,但我在 C# 中找不到这样的东西。我的目标是让代码看起来像

#ifdef _WIN32
[SnapInSettings("x86_guid")]
#else
[snapInSettings("x64_guid")]
#endif

x86_guid 和 x64_guid 应该是常数。

我一直在四处寻找,但没有答案。

4

1 回答 1

0

您可以为 64 位构建创建新的解决方案/项目平台,然后为不同的平台定义不同的 GUID。然后,您将构建 MMC 管理单元的 2 个 DLL-s:一个用于 32 位平台,一个用于 64 位平台。

Build->Configuration Manager创建一个新的构建平台(例如x64),然后转到为您Build的构建目标Project properties定义一个新符号。x64这将类似于_WIN64. 您可以将Platform target下拉列表保留为Any CPU,只需确保 64 位 MMC 加载您的 _WIN64 构建版本。(我不熟悉如何设置 MMC 管理单元,所以我不知道这涉及到什么。)

完成上述配置步骤后,您现在几乎可以在 C# 中复制 C++ 代码以检查构建目标:

#ifdef _WIN64
[SnapInSettings("x64_guid")]
#else
[snapInSettings("x86_guid")]
#endif

GUID-s 将是硬编码的字符串,因此它们将是常量。

于 2013-07-15T08:21:32.083 回答