2010-08-05 8 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 <नाम जोड़ने = " प्रिंसिपल "कनेक्शनस्ट्रिंग =" $ (ReplacableToken_principal-Web.config कनेक्शन String_0) "प्रदाता नाम = .. –

+0

@ जॉनी आपको ऑटो पैरामैटिज़ेशन WebConfigConnectionStrings पैरामीटर की आवश्यकता है, मैंने अपना जवाब अपडेट कर दिया है। –

+0

यह मेरे लिए ठीक काम करता है, बहुत बहुत धन्यवाद !! –

3

यह पावेल के समाधान को प्राप्त लेकिन एक 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> 
संबंधित मुद्दे