Asp.net

如何使用一些發布配置文件從命令行發布站點?

  • August 18, 2021

就像是

msbuild /t:publish [use PublishProfileName] someproject.csproj

msbuild MyProject.csproj /t:PipelinePreDeployCopyAllFilesToOneFolder /p:Configuration=Release;_PackageTempDir=C:\temp\somelocation;AutoParameterizationWebConfigConnectionStrings=false

請參閱MSBuild 2010 - 如何將 Web 應用程序發佈到特定位置 (nant)?

對於 Visual Studio 2012,您可以使用

msbuild MySolution.sln /p:DeployOnBuild=true;PublishProfile=Production;Password=foo

請參閱使用 Visual Studio 的 ASP.NET Web 部署:命令行部署

這是實現 Pavel 解決方案但在 MsBuild 文件中使用 MsBuild 目標的替代解決方案:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="build"  
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
       <Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
       <OutputDirectory>$(DeploymentProject)\bin\$(Configuration)</OutputDirectory>
       <OutputPath>C:\Inetpub\wwwroot</OutputPath>
   </PropertyGroup>
   <Target Name="build">
       <MSBuild 
       Projects="Your Solution File.sln"
       Properties="Configuration=$(Configuration);DeployOnBuild=true;DeployTarget=Package;_PackageTempDir=$(OutputPath);AutoParameterizationWebConfigConnectionStrings=false"
       >
       </MSBuild>
   </Target>
</Project>

引用自:https://stackoverflow.com/questions/3412900