我希望开始使用MS-Build。我有很多项目,我现在手动构建(从Visual Studio)。我想自动化构建过程,最好是从我不想安装Visual Studio的机器上。我开始阅读MSDN上的MS-Build。但我还没有逐步指导从哪里开始以及如何做。我的问题是:
还有很多类似的问题。有人可以指导我吗?
答案 0 :(得分:11)
MS Build自带.NET Framework本身,可执行文件(msbuild.exe)位于.NET框架目录中,类似于(取决于版本):
(从开始菜单使用“Visual Studio命令提示符”时,正确的版本也在%path%中。)
MsBuild文件是xml文件。你可以先创建一个新的文本文件,然后说“c:\ myscript.msbuild”,然后将其复制粘贴到文件中:
<Project DefaultTargets="MyTarget" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="MyTarget">
<Message Text="Hello world!" Importance="high"/>
</Target>
</Project>
然后转到命令提示符并键入:
C:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ msbuild.exe c:\ myscript.msbuild
这是一个好的开始。 :)
然后您可以自定义目标和属性。 第二个例子:
<Project DefaultTargets="All" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(MyCondition)' == 'x'" >
<MyProperty>World2</MyProperty>
</PropertyGroup>
<Target Name="MyTarget">
<Message Text="Hello" Importance="high"/>
<Message Text="$(MyProperty)" Importance="high"/>
</Target>
<Target Name="MyTarget2">
</Target>
<Target Name="All">
<CallTarget Targets="MyTarget" />
<CallTarget Targets="MyTarget2" />
</Target>
</Project>
C:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ msbuild.exe c:\ myscript.msbuild / target:mytarget / property:MyCondition = x
您还可以在构建文件中构建文件。
<Project DefaultTargets="MyTarget" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="MyExternalProperties.msbuild"/>
<Target Name="MyTarget">
<Exec Command="echo Hello world 3"/>
</Target>
</Project>
答案 1 :(得分:8)
MSBuild类似于其他构建产品,如NAnt(以防你使用过其中一种),但它在某些方面仍有所不同。
MSDN上的Here is a good start page。在各种许可证下发布了大量不同的MSBuild任务库,我见过的大多数都可以完全免费使用并附带源代码。可能最大的两个是:
获取信息的其他好地方:
这应该足以开始了。如果你找不到你想要的任务,那就写下你自己 - 这很容易。