32

Visual Studio を使用して発行プロファイルを作成しました。その情報は、プロジェクト ディレクトリのルートにある MyProject.Publish.xml に保存されました。

CI サーバーで実行される MSBuild タスクで、そのファイルを基本設定として使用したいと考えています。理想的には、コマンド ライン パラメーターを使用してプロパティをオーバーライドできれば、それはうまくいきます。

これは可能ですか?もしそうなら、構文は何ですか?

たとえば、次のようなものを探しています。

MSBuild MyProject.csproj /P:UsePublishProfile=True /P:UserName=deployUser /P:Password=MyPassword
4

1 に答える 1

43

申し訳ありませんが、VS2010が使用するpublish.xmlファイルは、このように使用するように設計されていません。実際、チェックイン/他のユーザーと共有するようには設計されていませんでした。

これらのファイルの読み取り/書き込みのロジックは、Visual Studio内に厳密に含まれており、MSBuildでは使用できません。したがって、今日これを行う簡単な方法はありません。msbuild.exeを呼び出すときは、個々のプロパティ名/値を渡す必要があります。詳細については、チームビルドで回答した同様の質問を確認できます。MSDeployを使用してローカルに公開します。

VS11開発者プレビューに関する注意

これは、次のバージョンのVisualStudioで対処したことをご存知でしょう。VS11開発者プレビューをダウンロードすることで確認できます。これで、すべてのプロファイルが独自のファイルに保存されます(ソリューションエクスプローラーの[プロパティ]ノードの[PublishProfiles]の下)。現在、チェックインしてチームメンバーと共有するように設計されています。これらのファイルはMSBuildファイルになり、必要に応じてカスタマイズできます。コマンドラインから公開するには、DeployOnBuild = trueを渡し、PublishProfileをプロファイルの名前に設定するだけです。例えば:

msbuild.exe MyProject.csproj /p:DeployOnBuild=true;PublishProfile=MyProfile
于 2011-12-29T04:52:50.313 に答える