开发者

Publish ASP.NET MVC 2 application from command line and Web.config transformations

开发者 https://www.devze.com 2023-01-29 14:15 出处:网络
Good day! I\'ve found this solution here: VS2010 Web Publish 开发者_开发知识库command line version of File System deploy

Good day!

I've found this solution here: VS2010 Web Publish 开发者_开发知识库command line version of File System deploy

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe 
.\MyProject.csproj /p:Configuration=Release;DeployOnBuild=True;PackageAsSingleFile=False;outdir=c:\_OuputDir\

But it seems that Web.config transformations are not performed.

May be there is better\cleaner way to duplicate "Publish Web" VS2010 dialog?

Update: The answer which is marked is the shortest command-line to perform publish, that I've found so far. Web.config transformations ARE applied, but connection strings are treated differently, here is a description\workaround


This might work (which I found here):

msbuild solution.sln /p:Configuration=Release;DeployOnBuild=true;DeployTarget=Package;_PackageTempDir=..\publish

However, it gave me the following error when I tried to run it (which I'm still working to fix):

C:\[path]\[config]\csautoparameterize\original\web.config(40): error ASPCONFIG: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.


Excerpt from: http://ashwaniksharma.spaces.live.com/Blog/cns!AD160FFA5932F17E!206.entry

MSBuild .\MyProject.csproj /t:TransformWebConfig;/p:Configuration=Release;DeployOnBuild=True;PackageAsSingleFile=False;outdir=c:\_OuputDir\


My solution for CCNET with the Web.config transformation:

<tasks>
    <msbuild>
        <executable>C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>
        <workingDirectory>E:\VersionesCC\Trunk_4\SBatz\Gertakariak_Orokorrak\GertakariakMS\Web</workingDirectory>
        <projectFile>GertakariakMSWeb2.vbproj</projectFile>
        <targets>Build</targets>
        <timeout>600</timeout>
        <logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MSBuild.dll</logger>
        <buildArgs>
            /noconsolelogger /p:Configuration=Release /v:diag
            /p:DeployOnBuild=true
            /p:AutoParameterizationWebConfigConnectionStrings=false
            /p:DeployTarget=Package
            /p:_PackageTempDir=E:\Aplicaciones\GertakariakMS2\Web
        </buildArgs>
        </msbuild>
</tasks>
0

精彩评论

暂无评论...
验证码 换一张
取 消