TFSオンラインで行っているプロジェクトがあります。プロジェクトをビルドしようとすると、次のエラーが表示されます。
重大度コード説明プロジェクトファイル行エラー「Microsoft.CodeAnalysis.BuildTasks.Csc」タスクをアセンブリC:\ Users\Bryan\Source\Workspaces\TestProject\ContosoUniversity\packages\Microsoft.Net.Compilers.1.0からロードできませんでした。 0\build ..\tools\Microsoft.Build.Tasks.CodeAnalysis.dll。ファイルまたはアセンブリ 'file:/// C:\ Users\Bryan\Source\Workspaces\TestProject\ContosoUniversity\packages\Microsoft.Net.Compilers.1.0.0\tools\Microsoft.Build.Tasks.CodeAnalysis.dllを読み込めませんでした'またはその依存関係の1つ。ファイルが見つかりませんでした。宣言が正しいこと、アセンブリとそのすべての依存関係が使用可能であること、およびタスクにMicrosoft.Build.Framework.ITaskを実装するパブリッククラスが含まれていることを確認します。 ContosoUniversity
これは、Azureとの関係でASP.NET 4.6をサポートしていませんか?
ここに修正がありました。 Nuget Package Managerを使用して、これらの2つのパッケージが参照されている場合は削除します。
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Microsoft.Net.Compilers
その後、再構築を実行します。これにより、ビルドが特定のビルドexeを使用しようとしていないことが保証されました。 ここをクリック 以前のリビジョンとの差分
いいえ、Azure Web AppsはASP.NET 4.6をサポートしていません。実際、NuGetパッケージはバージョン管理にチェックインされているため、このエラーメッセージが表示されます。
したがって、TFSからTestProject\ContosoUniversity\packagesフォルダーを削除して、再度ビルドする必要があります。参照: BuildTasks.Cscタスクをアセンブリから読み込めませんでしたか?
私はそれを修正するために、しばらく前に同じ問題を抱えていました:
私の場合、以下の2つのNugetパッケージを最新バージョンに更新することで解決しました。
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Microsoft.Net.Compilers
参照してファイルを見ると、パッケージの場所を示しています。 NuGetパッケージが破損していることが判明
解決するには:パッケージパッケージを削除するだけで(通常はプロジェクト名\プロジェクト名\パッケージ)、ビルド時にNugetは必要なパッケージをすべて復元します。
パッケージフォルダーまたはそのコンテンツを削除し、クリーンアップし、再構築すると問題が解決します。
開発ボックスですべてのNugetパッケージを更新してから、プロジェクトを再度TFSにチェックインする必要がありました。
さらに安心するために、Team Cityビルドフォルダー内のパッケージフォルダーを削除しました。