1

Visual Studio 2012 の [ビルド] メニューには、[発行] コマンドがあります。これで、プロジェクトの Properties フォルダーに .pubxml ファイルとして保存されるプロファイルを確立できます。私は単純なファイル コピー操作であるそのようなプロファイルを 1 つ持っています。サイトをコンパイルしてフォルダにダンプするだけです。

コマンド ラインで msbuild を使用して、コンパイル済みの Web アプリケーションをフォルダーに公開するにはどうすればよいですか?


私が試したこと

この質問の例を試しました:

Visual Studio での発行イベントの後

そして、ここに与えられた変更と例:

http://www.digitallycreated.net/Blog/59/locally-publishing-a-vs2010-asp.net-web-application-using-msbuild

後者が最も近いようですが、それにより、すべてのライブラリ Project the .csproj から発行しようとしているエラーがスローされます。

プロジェクト「MainProj.csproj」(1) は、ノード 1 (デフォルト ターゲット) で「ReferencedProj.csproj」(2) をビルドしています。

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(609,5): エラー: プロジェクト 'ReferencedProj.csproj' の OutputPath プロパティが設定されていません。このプロジェクトの構成とプラットフォームの有効な組み合わせを指定したことを確認してください。構成='ステージング' プラットフォーム='AnyCPU'. このメッセージが表示されるのは、ソリューション ファイルを使用せずにプロジェクトをビルドしようとしており、このプロジェクトに存在しない既定以外の構成またはプラットフォームを指定したためです。[ReferencedProj.csproj]

プロジェクト "ReferencedProj.csproj" (デフォルトのターゲット) の構築が完了 -- 失敗。

このアプローチは、この回答で提案されているものと非常によく似ています。

https://stackoverflow.com/a/7077178/176877

決定的な違いは、VS2008 または 2010 ではなく、Visual Studio 2012 を使用していることです。

4

1 に答える 1

0

古い質問ですが、これが誰かに役立つ場合に備えて、このシンプルで簡素化されたアプローチは私にとってはうまくいきました:

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
    ...
    <BuildDependsOn>
        $(BuildDependsOn);
        PublishOtherProject;
    </BuildDependsOn>
</PropertyGroup>
<Target Name="PublishOtherProject"> 
    <MSBuild Projects="pathtomyproject.csproj" Properties="DeployOnBuild=true;PublishProfile=nameOfPublishProfile" />
</Target>

キーラインは次のとおりです。

<MSBuild Projects="pathtomyproject.csproj" Properties="DeployOnBuild=true;PublishProfile=nameOfPublishProfile" />
于 2014-03-07T10:26:47.023 に答える