【发布时间】:2011-05-30 15:50:31
【问题描述】:
我必须为不同的目标框架构建VS2008解决方案,只需“一键”,有哪些选择?我需要为 .net-2.0 和 netcf-2.0 构建。 问题是我需要为 netcf-2.0 引用不同的库。
我尝试用 nant 来做这件事,但这似乎是一项复杂的任务。
【问题讨论】:
标签: msbuild build-process nant
我必须为不同的目标框架构建VS2008解决方案,只需“一键”,有哪些选择?我需要为 .net-2.0 和 netcf-2.0 构建。 问题是我需要为 netcf-2.0 引用不同的库。
我尝试用 nant 来做这件事,但这似乎是一项复杂的任务。
【问题讨论】:
标签: msbuild build-process nant
我不使用不同的构建配置。
当我这样做时,我为 CF 版本创建了一个单独的项目。在 CF 版本中,编译属性组使用指向所有原始源文件的链接。
独立项目涵盖 CF 和全框架库。每个项目都可以有一组独立的构建后或构建前任务、一组独立的引用、一组不同的#defined 符号等。
就我而言,并非库的完整框架版本中使用的所有代码都为 CF 版本编译。使用部分类,我将仅用于完整框架版本的代码分解为单独的模块,并且我不会将这些源文件的链接添加到 CF 项目中。
您可以通过使用 #if 语句并在 .csproj 文件中为 CF 项目定义一个 CF 符号(或类似符号)来执行等效操作。
【讨论】:
将不同的项目保存在一个解决方案中,并针对不同的框架版本使用相同的文件列表。
或按框架版本对项目/解决方案进行分组。
【讨论】:
您是否尝试过为每个目标框架创建单独的构建配置?
例如,复制您的 Debug 配置并修改为您的匹配条件并将其命名为 FrameWork_2_0 等等...
现在您只需为每个配置调用一次解决方案上的 MSBuild/NAnt 任务
【讨论】: