需要Msbuild新手入门

bln*_*hie 5 .net msbuild release-management build-management

我们维护一个在vb/c#.net中开发的中型Windows应用程序.现在,这个应用程序的构建和部署过程仍然是手动的.我决心使用MSBuild使这个过程自动化,我现在还不知道.

我们的应用程序有一个简单的构建结构,一组项目已经分为四个解决方案(.sln),只需要按顺序构建四个slns.然后将一个项目(它是最后一个要构建的sln的一部分)发布到一个目录.这就对了.一个简单的过程已经消耗了30分钟的手动构建时间,我很确定这可以在至少1/4的时间内使用msbuild在没有人工干扰的情况下完成.

我的所有目标设定良好,我开始在网上寻找MSBuild资源来完成我的过程,但可能会看到很多困扰我的事情.需要一个指针或一个很好的解释,说明如何从我的简单场景开始和从哪里开始.非常感谢帮助.

Fra*_*ger 5

这听起来像是一个非常容易编写的脚本.即使是批处理文件也可以:

msbuild \path\to\first.sln /p:Configuration=Release
msbuild \path\to\second.sln /p:Configuration=Release
msbuild \path\to\third.sln /p:Configuration=Release
msbuild \path\to\fourth.sln /p:Configuration=Release
call deploy

当然,更好的办法是让服务器运行,比如CruiseControl.NET,它可以为构建状态和历史提供Web界面.

在MS Build中,调用者有两个主要控制点:Target及其Properties.目标是编译,资源,编译,部署等.属性控制Target的构建方式.

您可以使用Configuration属性控制配置(请参见上文).如果您打开*.*proj文件,您会注意到PropertyGroup元素.这些可以通过命令行使用/parg进行设置.

以下是两个参数的规格:

/target:<targets>  Build these targets in this project. Use a semicolon or a
                 comma to separate multiple targets, or specify each
                 target separately. (Short form: /t)
                 Example:
                   /target:Resources;Compile

/property:<n>=<v>  Set or override these project-level properties. <n> is
                 the property name, and <v> is the property value. Use a
                 semicolon or a comma to separate multiple properties, or
                 specify each property separately. (Short form: /p)
                 Example:
                   /property:WarningLevel=2;OutDir=bin\Debug\
Run Code Online (Sandbox Code Playgroud)