我的项目必须使用不同的框架版本构建,包括.net 1.1。 要使用.net 1.1构建项目,我需要将Project的ToolsVersion更改为2.0,但对于其他框架,它必须设置为4.0
是否可以在Visual Studio中实现此类行为?
在csproj文件中有这样的东西:
<Project ToolsVersion=" if $(Configuration) == DOT_NET1_1 THEN '2.0' ELSE '4.0'">
答案 0 :(得分:0)
没有。 ToolsVersion属性由用于打开项目文件的Visual Studio版本自动设置。 ToolsVersion控件的属性是保留的,msbuild无法修改。我没有在.NET 1.1中编译的经验,所以我不知道这是否是最优雅的解决方案,但是:
代替不断更改此属性,我唯一能想到的就是创建两个不同的项目文件,一个用于在.NET 1.1中编译,另一个用于在其他框架中进行编译。它们都可以引用相同的源文件,引用的dll等,但请确保不要将它们放在同一个解决方案中,否则Visual Studio 2010将尝试使用旧的ToolsVersion升级项目文件。