1. ホーム
  2. visual-studio

[解決済み] MSBuild.exe を使って ASP.NET MVC 4 プロジェクトをコマンドラインで「公開」する

2023-04-30 06:39:39

質問

に対して実行するコマンドを探しています。 MSBuild.exe に対して実行するコマンドで、MVC 4 プロジェクトを取得し、指定されたディレクトリに公開するものを探しています。

例えば

MSBuild <solution>/<project>.csproj -publish -output=c:/folder

これは明らかに不正確な構文です。私は質問を単純化しようとしているのです。

この質問 はビルドXMLについて述べていますが、私はそこまで細かいことをやろうとしているわけではありません。

私は単にデプロイを行おうとしているだけです。

のさらに下には その質問 で、誰かが "MSDeploy" について話しています。私はそれを調べることができますが、それは唯一の選択肢ですか?私は、サーバーに Web デプロイをインストールする能力を持っていません。その場合、私が実際に行う必要があるのは、"Publish" と、サーバー/ファイル システム上の所定のディレクトリに公開プロジェクトのコンテンツを送信することだけです。

どなたか、私が使用できるワンライナーをお持ちではないでしょうか?

MSDeploy を使用しなければならないのでしょうか?

MSDeployは、サーバーにweb deployがインストールされている必要があるのでしょうか?

サーバーに web deploy を設定するには、いくつかのポート、パーミッションの設定、および IIS アドオンのインストールが必要ではないでしょうか?

私は単純なものを実行したいのですが。

どのように解決するのですか?

VS 2012 では (パブリッシュ アップデートで利用可能な) Azure SDK では、Web プロジェクトのコマンドライン発行が簡素化されました。これは、Publish Profiles を使用することで実現しました。

VS の Web プロジェクトでは、公開ダイアログを使用して、公開プロファイルを作成できます。そのプロファイルを作成すると、プロジェクト内の PropertiesPublishProfiles に自動的に保存されます。作成されたプロファイルを使用して、コマンドラインから次のように発行することができます。

msbuild mysln.sln /p:DeployOnBuild=true /p:PublishProfile=<profile-name>

パブリッシュプロファイル (.pubxml ファイル) を他の場所に保存したい場合は、PublishProfile へのパスを渡すことができます。

パブリッシュ プロファイルは MSBuild ファイルです。発行処理をカスタマイズする必要がある場合は、.pubxmlファイルの内部で直接行うことができます。

最終的な目標がコマンドラインからプロパティを渡すことである場合。以下をお勧めします。VS でサンプルの公開プロファイルを作成します。その公開プロファイルを検査し、コマンドラインで渡す必要のある MSBuild プロパティを特定します。参考までに、すべてのパブリッシュ方式がコマンドラインでのパブリッシュをサポートしているわけではありません(例:FTP/FPSE)。

参考までに、.sln ではなく .csproj/.vbproj を構築する場合、VS 2012 を使用している場合は、次のコマンドも渡す必要があります。 /p:VisualStudioVersion=11.0 . 理由の詳細については、以下を参照してください。 http://sedodream.com/2012/08/19/VisualStudioProjectCompatabilityAndVisualStudioVersion.aspx .