Xian
Xian

Reputation: 76591

How do I publish a Asp.NET web application using MSBuild?

I am trying to publish an Asp.net MVC web application locally using the NAnt and MSBuild. This is what I am using for my NAnt target;

<target name="publish-artifacts-to-build">
    <msbuild project="my-solution.sln" target="Publish">
      <property name="Configuration" value="debug" />
      <property name="OutDir" value="builds\" />
      <arg line="/m:2 /tv:3.5" />
    </msbuild>
</target>

and all I get is this as a response;

[msbuild]          Skipping unpublishable project.

Is it possible to publish web applications via the command line in this way?

Upvotes: 19

Views: 25339

Answers (2)

Alexander Beletsky
Alexander Beletsky

Reputation: 19821

I came up with such solution, works great for me:

msbuild /t:ResolveReferences;_WPPCopyWebApplication /p:BuildingProject=true;OutDir=C:\Temp\buidl\ Test.csproj

Secret sauce is _WPPCopyWebApplication target.

Upvotes: 15

Espo
Espo

Reputation: 41929

The "Publish" target you are trying to invoke is for "OneClick" deployment, not for publishing a website... This is why you are getting the seemingly bizarre message. You would want to use the AspNetCompiler task, rather than the MSBuild task. See http://msdn2.microsoft.com/en-us/library/ms164291.aspx for more info on this task. Your "PublishDir" would correspond to the TargetPath property of the task.

Source

Upvotes: 21

Related Questions