Msbuild 如何从MS Build开始
我希望开始使用MS Build。到目前为止,我有很多手动构建的项目(从VisualStudio)。我想自动化构建过程,最好是从一台我不希望安装VisualStudio的机器上。我开始阅读有关基于MSDN的MS构建的文章。但我还没有得到一个循序渐进的指导,从哪里开始,怎么做。我的问题是:Msbuild 如何从MS Build开始,msbuild,Msbuild,我希望开始使用MS Build。到目前为止,我有很多手动构建的项目(从VisualStudio)。我想自动化构建过程,最好是从一台我不希望安装VisualStudio的机器上。我开始阅读有关基于MSDN的MS构建的文章。但我还没有得到一个循序渐进的指导,从哪里开始,怎么做。我的问题是: 如何启动MS Build?有可以下载的吗 第一步是什么 如何创建MS构建脚本 还有很多类似的问题。有人能为我指点迷津吗?MS Build自带.NET Framework本身,可执行文件(msbuild.exe)位
还有很多类似的问题。有人能为我指点迷津吗?MS Build自带.NET Framework本身,可执行文件(msbuild.exe)位于.NET Framework目录中,类似于(取决于版本):
- C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319
- C:\WINDOWS\Microsoft.NET\Framework\v3.5
- C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
<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>
世界2
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>
MSBuild与NAnt等其他构建产品类似(以防万一您使用过其中一种),但在几个方面仍然不同 在MSDN上。有很多不同的MSBuild任务库是根据不同的许可证发布的,我看到的大多数都是完全免费使用的,并附带源代码。可能最大的两个是:
- 开源
- codeplex上的
- 的博客(他对该产品非常了解,但直到最近才为微软工作)。他也常在这里闲逛,可能会偶然发现这个问题
这就足够开始了。如果你找不到一项任务来做你想做的事情,那就自己写吧——这很简单。非常感谢。这将是我最体面的开始。现在我将学习如何为我的项目编写构建文件。谢谢。虽然我从MSDN的起始页看不太清楚,但我希望,一旦我能够使用MSBuild,其他社区项目将增强我在MSBuild上的功能。谢谢,我也在那里添加了我的书的链接。它是有关MSBuild信息的最佳单一来源。