1

私はCIサーバにdevenv.exeで自動的にソリューションを構築していますが、これはまったく問題ありません。デプロイの目的で、ナゲットパッケージ(OctoPack)を追加しました。そのドキュメンテーションはビルド時にプロパティをMSBuildに渡すように指示しますが、devenvを使用しているので不可能です。コマンドラインでdebuv.exeにmsbuildプロパティを渡す

調査の結果、PropertyGroupをプロジェクトの.csprojに追加して、これらのプロパティを追加できることを知りました。これらのプロパティで特定の値(バージョン番号など)を置き換える必要があるので、私はそうしたくないので、プレースホルダをそれらの文字列に入れたくありません。さらに、私は、ローカルに開発してビルドするときではなく、CIサーバー上にビルドするときにのみ、それらのPropertyGroupをアクティブにする必要があります。

これは最終的に私の質問につながります。通常、MSBuild(/p:経由)に渡されるプロパティをコマンドラインでdevenvに渡すことはできますか?

+0

これには文書化された方法はありません。おそらくもっと良い方法があるからです。あなたのソリューションを構築するためにmsbuildを直接呼び出すことができます。あなたがdevenvを使用しなければならない他の選択肢は、環境変数としてそれらのプロパティを設定することですが、私は本当にそれに対してアドバイスします。 – stijn

+0

devenvはMsBuildをラップし、多くのVS固有のプロパティを追加しますが、なぜMsbuild.exeの代わりにdevenv.exeを使用するのか不明です。 –

+0

stackoverflowの投稿によると、devenvは、自動的にパッケージがインストールされます@ColeWu – Marv

答えて

3

(私はこの質問を閉じることができるように回答を投稿しています)。

  1. 私はdevenv.exeを使用しないことをお勧めします。

  2. msbuild.exeの使用を開始してください。名前=値/ P:名前=値

  3. 使用nuget.exe

/プロパティを使用して、パラメータの

  • パスMySolution.slnを復元してパッケージを復元します。

  • 関連する問題