2010-08-05 77 views

回答

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

MSBuild 2010 - how to publish web app to a specific location (nant)?

對於Visual Studio 2012可以使用

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

ASP.NET Web Deployment using Visual Studio: Command Line Deployment

+0

我的web.config結束像這樣的msbuild命令: \t 節點<添加名稱=」主體「connectionString =」$(ReplacableToken_principal-Web.config連接String_0)「providerName = .. – 2010-08-10 21:06:38

+0

@Jhonny你需要AutoParameterizationWebConfigConnectionStrings參數,我已經更新了我的答案。 – 2010-08-12 00:32:52

+0

它對我來說很好,非常感謝你! – 2010-08-12 14:56:22

3

這是實現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> 
相關問題