我想从命令行构建一个c#项目(.csproj)msbuild并希望以.Net2.0运行时为目标.
我看到项目xml文件很2 tags有意思
<Project ToolsVersion="4.0" ...
Run Code Online (Sandbox Code Playgroud)
和
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
Run Code Online (Sandbox Code Playgroud)
我想知道是否
/ToolsVersion命令行开关是否实现了这一点?我特别希望通过命令行实现这一点,而不是修改项目文件.
目前我正在做这样的事情
msbuild myproj.csproj /p:Configuration=Release
Run Code Online (Sandbox Code Playgroud)
ren*_*ene 19
您需要msbuild的命令行参数才能使其工作:
msbuild.exe MyProj.proj /p:TargetFrameworkVersion=v2.0;Configuration=Release /tv:3.5
Run Code Online (Sandbox Code Playgroud)
因此,覆盖proj文件中的值以及ToolsVersion.
要找出使用哪个msbuild版本的默认值,请启动Visual Studio命令提示符(可在"开始"菜单>"Microsoft Visual Studio 2010">"Visual Studio工具"中找到)并键入msbuild.输出的第一行将保存您的BuidEngineversion:
Microsoft(R)Build Engine版本4.0.30319.1
来自msdn doc:
MSBuild使用一组任务,目标和工具来构建应用程序.通常,MSBuild工具集包括microsoft.common.tasks文件,microsoft.common.targets文件以及csc.exe和vbc.exe等编译器.大多数工具集可用于将应用程序编译为多个版本的.NET Framework和多个系统平台
您还可以检查环境变量以获取所安装框架的版本:
set F从Visual Studio命令提示符为我提供以下结果:
Framework35Version = v3.5
FrameworkDir = c:\ Windows\Microsoft.NET\Framework\
FrameworkDIR32 = c:\ Windows\Microsoft.NET\Framework\
FrameworkVersion = v4.0.30319
FrameworkVersion32 = v4.0.30319
| 归档时间: |
|
| 查看次数: |
16277 次 |
| 最近记录: |