web-dev-qa-db-ja.com

Visual StudioOnlineビルド定義で複数のWebプロジェクトを含むソリューションから1つのWebプロジェクトをビルドします

Visual StudioOnlineの2つのWebプロジェクトを含むソリューションから1つのWebプロジェクトのみを構築する必要があるという問題に直面しています。

  • 「VisualStudioビルド」ステップを使用して1つのプロジェクトのみをビルドする方法が見つかりません。

「VisualStudioBuild」ステップでこれを行うような方法が存在するのは素晴らしいことです。

  • また、「MSBuild」ステップを使用しようとしました。残念ながら、Nugetでパッケージを復元するときに問題が発生しました。エラーが発生しました:## [エラー]ファイル形式のヘッダーが見つかりません。## [エラー]ツールNuGet.exeから予期しない終了コード1が返されました。実行直後:Nuget.exeはMyproj.csprojを復元します。

要約:

Visual Studioオンラインビルド定義で複数のWebプロジェクトを含むソリューションから1つのWebプロジェクトのみをビルドするにはどうすればよいですか?

更新

これが私が構築しているときのエラーの画像です。また、「VisualStudioBuild」ステップまたは「MSBuild」ステップを使用してこれを取得しています。

enter image description here

また

VSOの問題でchrisrpattersonからのコメントを見つけました: https://github.com/Microsoft/vso-agent-tasks/issues/571

彼は次のように述べています。SLNファイル以外に対してnuget復元を実行することはできません。そのvsbuildタスクで復元nugetパッケージのチェックを外す必要があります。

しかし、パッケージが必要であり、パッケージフォルダをリポジトリにプッシュしたくありません。

では、「Visual Studio Build」ステップで、パッケージを復元し、ソリューションから1つのWebプロジェクトのみを実行するにはどうすればよいですか?

12
Rafael Miceli

.slnファイルを選択する代わりに、.projファイルを選択する必要があります。

まず、[ソリューション]フィールドの横にある省略記号ボタンをクリックします。 enter image description here

次に、ビルドする.projファイルを選択します。たとえば、以下のスクリーンショットは、ソリューション全体(ClassLibrary1およびClassLibrary4プロジェクトを含む)ではなく、ClassLibrary1プロジェクトをビルドするようにビルド定義が構成されていることを示しています enter image description here

25
Vicky - MSFT

新しい「AzureAppService Deploy」タスクをビルド定義に追加し、「パッケージまたはフォルダーフィールド」を「$(build.artifactstagingdirectory)**\YOURPROJECT.Zip」に設定できます。

1
Guilherme