我们可以在2008年之后在Visual Studio中切换到不同的.NET Framework目标。
我有一个项目,我想构建它的2个不同的目标框架组件。 如果我的目标框架是2.0,我希望它构建一些代码,当我切换到另一个目标框架时,我希望它构建另一个代码片段以使用一些新函数。
现在我必须在任何地方手动注释和取消注释代码,我想知道我是否可以使用一些预编译符号来动态地对我执行此操作。像:
#if Framework3
<do something>
#else
<do something else>
#endif
可以吗?
答案 0 :(得分:2)
是的,我们在MiscUtil中执行此操作。我不确定您是否可以直接在Visual Studio中执行此操作,因为目标框架选项位于忽略当前配置的属性页中。但是,您可以直接编辑项目文件,以获得正确配置的正确目标框架。特别是,在定位.NET 2.0时,您需要确保没有.NET 3.5引用。有关更多详细信息,请查看我们的主项目文件(MiscUtil.csproj)。
预处理程序符号部分很简单 - 一旦有了.NET 2.0的构建配置,就可以直接在Visual Studio中添加预处理程序符号。
答案 1 :(得分:1)
在为每个框架版本编译之前,只需在构建选项中定义一个。
- 添加 Framework3
- 编译.NET Framework 3.5
- 更改为 Framework2
- 编译.NET Framework 2.0
醇>
这仍然不像你想要的那样自动化,但在我看来,它比取消注释一堆行更好。
答案 2 :(得分:0)
是的,您可以在项目属性中设置已定义的常量。管理它的最好方法是使用独立的项目文件,这些文件共享代码但具有不同的定义常量。所以mycode_Framework1.csproj,mycode_Framework2.csproj等等你可以将它们放在同一个解决方案中,但是如果你这样做,它会让它们一下子变得更容易。