【问题标题】:Building a ASP.NET solution from command-line?从命令行构建 ASP.NET 解决方案?
【发布时间】:2011-01-14 06:43:06
【问题描述】:

如何从命令行构建 ASP.NET Web 应用程序?

【问题讨论】:

    标签: asp.net command-line build


    【解决方案1】:

    在 .bat 文件中尝试此操作,将 v4.0.30319 替换为适当的版本:

    CD C:\Windows\Microsoft.NET\Framework\v4.0.30319 
    msbuild "C:\inetpub\wwwroot\MyWebSite.sln"
    

    【讨论】:

      【解决方案2】:

      看看devenv.exe /Build开关,你给它一个解决方案文件来构建,例如

      devenv.exe "C:\Documents and Settings\someuser\MySolution.sln" /build DEBUG
      

      如果您有更复杂的构建要求,请查看MSBuild

      【讨论】:

        【解决方案3】:

        这是一个循环的方法,但您可以将MSBuild 任务用作msbuild 项目的一部分:

        <?xml version="1.0" encoding="utf-8"?>
        <Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
        
        <ItemGroup>
          <Solutions Include="*.sln" />
        </ItemGroup>
        
        <Target Name="Build"   >
          <MSBuild BuildInParallel="true" Projects="@(Solutions)" RebaseOutputs="true"  />
        </Target>
        

        使用msbuildprojectname.proj 从命令行构建。

        这可能看起来有点矫枉过正,但您可以在项目中添加额外的东西(例如重新启动网站、压缩文件、甚至虚拟机控制!、代码覆盖率),以帮助您设置和测试项目。

        【讨论】:

          【解决方案4】:

          尽管我看起来很笨,但我使用“aspnet_compiler.exe”来编译/部署项目

          【讨论】:

            【解决方案5】:
            【解决方案6】:

            要直接构建解决方案,

            msbuild mysolution.sln
            

            您将在 Windows 目录的 Microsoft.NET 文件夹中找到 MSBuild。

            您可能还想预编译您的网站。相关说明位于 MSDN here。如果您使用 Web 部署项目节点(详细信息在底部),那么当您在解决方案文件上运行 msbuild 时,部署将自动发生。

            【讨论】: