如何为不同的框架构建C#解决方案?

时间:2010-12-25 15:23:32

标签: msbuild build-process nant

我有哪些选择为不同的目标框架构建VS2008解决方案,只需“一键”?我需要构建.net-2.0和netcf-2.0。 问题是我需要为netcf-2.0引用不同的库。

我尝试用nant做这件事,但这似乎是一项复杂的任务。

3 个答案:

答案 0 :(得分:0)

将不同的项目保存在一个解决方案中,并使用针对不同框架版本的相同文件列表。

或按框架版本对项目/解决方案进行分组。

答案 1 :(得分:0)

您是否尝试为每个目标框架创建单独的构建配置?

例如,复制Debug配置并修改为匹配条件并将其命名为FrameWork_2_0,依此类推......

现在,您只需针对每个配置在解决方案上调用一次MSBuild / NAnt任务

答案 2 :(得分:0)

我不使用不同的构建配置。

当我这样做时,我为CF版本创建了一个单独的项目。在CF版本中,Compile属性组使用指向所有原始源文件的链接。

CF和完整框架库由独立项目涵盖。每个项目都可以有一组独立的构建后或预构建任务,一组独立的引用,一组不同的#defined符号等。

就我而言,并非所有在库的完整框架版本中使用的代码都会针对CF版本进行编译。使用部分类,我将仅用于完整框架版本的代码分解为单独的模块,并且我不会将这些源文件的链接添加到CF项目中。

您可以使用#if语句,并在CF项目的.csproj文件中定义CF符号(或类似名称)来执行等效操作。