我是关于msbuild的完整菜鸟,但我鼓励他根据先前对question I posted a few days back的回答使用它。
无论如何,我正在寻找有关MSBuild入门的一些建议......特别是,使用它来自动部署ASP.NET MVC应用程序。
非常感谢!
答案 0 :(得分:17)
对于网络内容,您应该使用Web Deployment Projects。它是Microsoft免费添加的,它将在您的网站或Web项目(在您的案例中为MVC)上运行aspnet_compiler和aspnet_merge工具。您可以在那里自定义构建,以帮助您准备部署。
关于MSBuild资源入门
答案 1 :(得分:5)
我直接使用msbuild,跳过nAnt。您可以使用构建文件作为属性来调用它,并从命令行指定目标。这是一个示例soultion.build文件:
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Import the MSBuild Tasks -->
<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<ClassLibraryOutputDirectory>bin$(Configuration)</ClassLibraryOutputDirectory>
<ProjectDir>.\</ProjectDir >
<ProjectTestDir>DALTests\</ProjectTestDir >
<ProjectFile>$(ProjectDir)SSN.sln</ProjectFile >
<TestProjectFile>$(ProjectTestDir)DALTests.csproj</TestProjectFile >
</PropertyGroup>
<!-- Build projects by calling the Project files generated by VS -->
<Target Name="Build">
<MSBuild Projects="$(ProjectFile)" />
<MSBuild Projects="$(TestProjectFile)" />
</Target>
<!-- Run Unit tests -->
<Target Name="Test" DependsOnTargets="Build">
<CreateItem Include="DALTests\Bin\Debug\DALTests.exe">
<Output TaskParameter="Include" ItemName="DALTests" />
</CreateItem>
<NUnit Assemblies="@(DALTests)" ToolPath="D:\Program Files\NUnit 2.4.5\bin" ContinueOnError="false" OutputXmlFile="SoultionTestResults.xml" />
</Target>
</Project>
我从这样的批处理文件中调用它: (与soultion.build在同一个目录中)
C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe Soultion.Build /Target:Build
您将需要MSBuild社区任务dll,只需谷歌。
答案 2 :(得分:2)
我写了一篇非常详细的博客文章,介绍了在使用TeamCity和Web部署项目之后的具体内容:
答案 3 :(得分:0)
我在更大的CI方案中使用了MSBuild。我使用Hudson触发构建作业,我们MSBuild构建程序集,但不部署。对于部署,我使用BeyondCompare将文件“同步”到IIS站点文件夹。