1、MSBuild
四个基本块(属性、项、任务、目标):
MSBuild属性: 属性是一些键/值对,主要用来存储一些配置信息。
MSBuild 项: 主要是存储一些项目文件信息,以及文件的元数据信息(如版本号)。
MSBuild任务: Build过程中的一些原子操作(如CSC 编译cs文件、MakeDir 创建目录)
MSBuild目标: 按特定的顺序将任务组织在一起,并允许在命令行单独指定各个部分。
命令行示例:
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\msbuild.exe C:\task3\current\debugwf.oa.com.sln /t:Rebuild /p:Configuration=Release;OutDir=C:\task3\target\
示例说明:
MSBuild.exe [ProjectFile]
ProjectFile可以为sln或csproj
运行效果如下图:
2、aspnet_compiler.exe
新建web工程并且位置是文件系统的时候,vs2005只是帮你建好了一个sln文件,这个东西只是指引msbuild 如何进行编译的,过程是:ide 调用 msbuild ,msbuild解析sln文件,msbuild调用aspnet_compiler.exe进行网站的编译。所以aspnet_compiler.exe只是负责进行网站的编译的。
使用示例:
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe -v / -p C:\task3\current\ C:\task3\target
示例说明:
aspnet_compiler.exe -p physicalOrRelativePath -v / targetPath -u
在这种情况下,physicalOrRelativePath参数是指网站文件所在的完全限定目录路径,或者相对于当前目录的路径。在 physicalOrRelativePath 参数中允许使用句点 (.) 运算符。-v 开关指定一个根目录,编译器将使用该目录来解析应用程序根目录引用,例如,用代字号 (~) 运算符。当您为 -v 开关指定值 / 时,编译器将使用物理路径作为根目录来解析路径。
targetPath 参数是目标目录的物理路径
2、CSC
编译 File.cs 以产生 File.dll:csc /target:library File.cs
参考资料:
https://msdn.microsoft.com/zh-cn/library/ms229863(v=vs.80).aspx ASP.NET 编译工具 (Aspnet_compiler.exe)
https://msdn.microsoft.com/zh-cn/library/ms227976(v=vs.80).aspx 如何:预编译 ASP.NET 网站以进行部署
http://www.cnblogs.com/l_nh/archive/2012/08/30/2662648.html MSBuild入门
https://msdn.microsoft.com/zh-cn/library/s5c8athz(v=VS.80).aspx Csc 任务