创建同一装配的2个不同版本

时间:2010-10-07 02:02:27

标签: c# visual-studio-2010 build-process

我正在创建一个.NET程序集。我想要有这个组件的2个不同版本。两个版本之间的唯一区别是嵌入在.cs文件中的guid字符串。 因此,对于程序集的版本1,指南将是ECABAFD2-7F19-11D2-978E-0000F8757E2A,对于版本2 ECABAFD2-7F19-11D2-978E-0000F8757E2B

如何在Visual Studio 2010中管理类似的内容?是否有某种自动化工具可以为我更改该字符串并编译两个版本?

你会怎么做?我愿意接受建议

2 个答案:

答案 0 :(得分:1)

如果您想稍微改变一下,可以使用#if指令

#if FirstVersion
    _id = "ECABAFD2-7F19-11D2-978E-0000F8757E2A"
#else
    _id = "ECABAFD2-7F19-11D2-978E-0000F8757E2B"
#endif

然后使用命令行编译设置指令或设置可以切换的新配置。

至于同时建立VS,我会建议使用像Nant这样的脚本或外部构建工具。

答案 1 :(得分:1)

在C#中,条件编译通常使用ConditionalAttribute完成。使用程序集中Conditional的相关GUID值在两个不同的编译符号上放置代码 - 比如VARIANT1,VARIANT2。

在Visual Studio中为此项目定义构建配置,为第一个构建定义VARIANT1,为第二个构建定义VARIANT2。这会产生两个输出二进制文件 - 一个带有第一个GUID,另一个带有第二个。