【问题标题】:How to use MSBuild to deploy an ASP.NET MVC application [closed]如何使用 MSBuild 部署 ASP.NET MVC 应用程序 [关闭]
【发布时间】:2009-08-04 17:26:19
【问题描述】:

我对 msbuild 完全是个菜鸟,但我鼓励我根据之前对 question I posted a few days back 的回答来使用它。

无论如何,我正在寻找一些关于 MSBuild 入门的建议……尤其是使用它来自动部署 ASP.NET MVC 应用程序。

非常感谢!

【问题讨论】:

    标签: asp.net-mvc msbuild


    【解决方案1】:

    对于网络内容,您应该使用Web Deployment Projects。它是 Microsoft 的免费插件,将在您的网站或 Web 项目(在您的情况下为 MVC)上运行 aspnet_compiler 和 aspnet_merge 工具。您可以在那里自定义构建以帮助您准备部署。

    关于开始使用 MSBuild 资源

    【讨论】:

    • 这对我来说也很完美,谢谢。
    • 当时的答案很好,但 MS 在 VS 2012 中不再支持它们。
    【解决方案2】:

    我直接使用 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,只需在 Google 上搜索即可。

    【讨论】:

    • msbuild 社区任务 dll 会去哪里?我应该从我的 asp.net mvc 应用程序中引用它吗?
    • 对不起...你将如何将它用于 asp.net mvc 应用程序?
    【解决方案3】:

    我写了一篇非常详细的博客文章,介绍了在使用 TeamCity 和 Web 部署项目后实现您的目标:

    http://www.diaryofaninja.com/blog/2010/05/09/automated-site-deployments-with-teamcity-deployment-projects-amp-svn

    【讨论】:

      【解决方案4】:

      我在更大的 CI 方案中使用了 MSBuild。我使用 Hudson 来触发我们 MSBuild 来构建程序集但不部署的构建作业。对于部署,我使用 BeyondCompare 将文件“同步”到 IIS 站点文件夹。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多