【问题标题】:Howto build C# solution for different frameworks?如何为不同的框架构建 C# 解决方案?
【发布时间】:2011-05-30 15:50:31
【问题描述】:

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

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

【问题讨论】:

    标签: msbuild build-process nant


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 现在就是这样。但我还必须做一些后期构建任务。
      【解决方案3】:

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

      例如,复制您的 Debug 配置并修改为您的匹配条件并将其命名为 FrameWork_2_0 等等...

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-22
        • 1970-01-01
        • 2011-05-15
        • 2015-07-27
        • 1970-01-01
        • 1970-01-01
        • 2011-08-18
        • 2014-09-18
        相关资源
        最近更新 更多