不同平台的C#GUID

时间:2013-07-15 07:47:08

标签: c# mmc

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

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

x86_guid和x64_guid应该是常量。

我一直在寻找一段时间,但没有答案。

1 个答案:

答案 0 :(得分:0)

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

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

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

Any CPU

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