最近一直在用VS 2005 express,很多功能都让人爱不释手,然而总还是需要写一些必须运行在.net v1.1上的程序,被迫要去用VS 2003,觉得非常不爽。人果然是容易被宠坏的,越来越懒了
所以现在就尝试用VS 2005写代码,然后用nant来编译项目。nant有三种改变编译目标平台的方法:
(1)直接在命令行中指定,例如:
NAnt.exe -t:net-1.1
(2)通过在build文件,对系统属性nant.settings.currentframework赋值来进行指定:
<property name="nant.settings.currentframework" value="net-1.1" />
(3)直接修改nant的配置文件来改变nant的默认目标平台
<frameworks>
<platform name="win32" default="net-1.1">
...
</platform>
</frameworks>
所有支持的平台,你可以nant.exe.config里找到,比如我手头的nant就支持 net-1.0 net-1.1 net-2.0 netcf-1.0 mono-1.0。
直觉上觉得,既然VS2005里的C#已经开始用msbuild来进行后台编译,那么应该也可以支持目标平台的设置,但似乎并没有在vs2005的项目设置里找到相应的选项,对msbuild也不很了解,如果哪位知道,还请不吝赐教。
所以现在就尝试用VS 2005写代码,然后用nant来编译项目。nant有三种改变编译目标平台的方法:
(1)直接在命令行中指定,例如:
NAnt.exe -t:net-1.1
(2)通过在build文件,对系统属性nant.settings.currentframework赋值来进行指定:
<property name="nant.settings.currentframework" value="net-1.1" />
(3)直接修改nant的配置文件来改变nant的默认目标平台
<frameworks>
<platform name="win32" default="net-1.1">
...
</platform>
</frameworks>
所有支持的平台,你可以nant.exe.config里找到,比如我手头的nant就支持 net-1.0 net-1.1 net-2.0 netcf-1.0 mono-1.0。
直觉上觉得,既然VS2005里的C#已经开始用msbuild来进行后台编译,那么应该也可以支持目标平台的设置,但似乎并没有在vs2005的项目设置里找到相应的选项,对msbuild也不很了解,如果哪位知道,还请不吝赐教。
Feedback
已经有一个 MSBuild Compatibility Toolkit 了,而且你说的这个问题已经通过社区反映到产品组了MSBuild CT
http://www.cnblogs.com/ccboy/archive/2004/10/09/50326.aspx
http://weblogs.asp.net/rmclaws/archive/2004/10/03/237179.aspx
http://www.cnblogs.com/hush/archive/2004/12/12/76054.html