web-dev-qa-db-ja.com

Visual Studio Online(2015バージョン)で不足しているパッケージのビルドエラー

Visual Studio Onlineへのチェックイン時にビルドをトリガーすると、次のメッセージが表示されます。ローカルでは、問題なくコンパイルおよびデプロイされます。

packages\Microsoft.Net.Compilers.1.0.0\tools\Microsoft.CSharp.Core.targets(67、5)

より正確には、これが説明されている問題です。

「Microsoft.CodeAnalysis.BuildTasks.Csc」タスクをアセンブリC:\ a\1\s\packages\Microsoft.Net.Compilers.1.0.0\build ..\tools\Microsoft.Build.Tasksから読み込めませんでした.CodeAnalysis.dll。ファイルまたはアセンブリ 'file:/// C:\ a\1\s\packages\Microsoft.Net.Compilers.1.0.0\tools\Microsoft.Build.Tasks.CodeAnalysis.dll'またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。宣言が正しいこと、アセンブリとそのすべての依存関係が利用可能であること、およびタスクにMicrosoft.Build.Framework.ITaskを実装するパブリッククラスが含まれていることを確認します。

したがって、明らかに、コンパイルを機能させるローカルに配置されたファイルがいくつかありますサイト上(つまり私のマシン)が、それらはチェックインを使用してデプロイされていません。 DLLなどを手動でプロジェクトに挿入していません。そこにあるものはすべて、ソースコードベースであるか、パッケージマネージャーで取得されます。

それは以下の問題を提起します。

  1. それらが正確にどのファイルであるかはわかりません(Visual Studio Onlineのエラーメッセージはその情報を開示しておらず、ローカルで再現することはできません)。
  2. 構築エージェントがフェッチするために、関連するすべてのファイルをリポジトリに強制的にプッシュする方法がわかりません(私の経験によれば、自動的に実行されます)。

ビルドステップの設定は次のとおりです。

  • 解決策: **\*。sln
  • MsBuild引数:/p:DeployOnBuild = true/p:WebPublishMethod = Package/p:PackageAsSingleFile = true/p:SkipInvalidConfigurations = true/p:PackageLocation = "$(build.artifactstagingdirectory)\\"
  • プラットフォーム:
  • 構成:
  • クリーン:オフ
  • NuGetパッケージの復元:チェック済み
  • Visual Studioバージョン: Visual Studio 2015
  • MsBuildアーキテクチャ: MSBuild x86
  • プロジェクトの詳細を記録:チェック済み
9

この問題は通常、nugetパッケージがバージョン管理にチェックインされたときに発生します。バージョン管理でpackagesフォルダーを削除し、「packages.config」ファイルがバージョン管理にチェックインされていることを確認します。次に、新しいビルドをキューに入れます。

24

NuGetパッケージがリポジトリにコミットされ、すべてが壊れていることがわかりました。 NuGetはビルド時にパッケージを自動的にフェッチするため、リポジトリからproject\project\packagesディレクトリを削除すると、すべてのビルドの問題が解決しました。

3
mianimraniqbal

パッケージの最新バージョンに更新し、問題が解決しました

0
mehrdad

ビルドのPackagesフォルダーをクリアしましたが、修正されました。

0
Jeff Justus