Сбой сборки. Net 2.2 после. Net Установка Core 3.1 с «Не удалось загрузить файл или сборку NuGet.ProjectModel» - PullRequest
1 голос
/ 16 апреля 2020

Сборка начала неожиданно заканчиваться неудачей

Наше решение содержит проекты, нацеленные на. Net Стандарт 2.0,. Net Core 2.2 и. Net Framework 4.5. Довольно микс. Он собирается с dotnet -c Release MyProject.sln.

Однажды мы начали страдать от следующей ошибки, но только на одном из наших ведомых сборщиков:

C:\Program Files\dotnet\sdk\3.1.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: The "ResolvePackageAssets" task failed unexpectedly. [D:\MyProject\MyProject.csproj]
C:\Program Files\dotnet\sdk\3.1.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: System.IO.FileNotFoundException: Could not load file or assembly 'NuGet.ProjectModel, Version=5.4.0.2, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The system cannot find the file specified. [D:\MyProject\MyProject.csproj]
C:\Program Files\dotnet\sdk\3.1.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: File name: 'NuGet.ProjectModel, Version=5.4.0.2, Culture=neutral, PublicKeyToken=31bf3856ad364e35' [D:\MyProject\MyProject.csproj]
C:\Program Files\dotnet\sdk\3.1.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.ResolvePackageAssets.CacheReader.CreateReaderFromMemory(ResolvePackageAssets task, Byte[] settingsHash) [D:\MyProject\MyProject.csproj]
C:\Program Files\dotnet\sdk\3.1.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.ResolvePackageAssets.CacheReader..ctor(ResolvePackageAssets task) [D:\MyProject\MyProject.csproj]
C:\Program Files\dotnet\sdk\3.1.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.ResolvePackageAssets.ReadItemGroups() [D:\MyProject\MyProject.csproj]
C:\Program Files\dotnet\sdk\3.1.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.ResolvePackageAssets.ExecuteCore() [D:\MyProject\MyProject.csproj]
C:\Program Files\dotnet\sdk\3.1.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.TaskBase.Execute() [D:\MyProject\MyProject.csproj]
C:\Program Files\dotnet\sdk\3.1.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() [D:\MyProject\MyProject.csproj]
C:\Program Files\dotnet\sdk\3.1.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask) [D:\MyProject\MyProject.csproj]
C:\Program Files\dotnet\sdk\3.1.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:  [D:\MyProject\MyProject.csproj]
C:\Program Files\dotnet\sdk\3.1.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:  [D:\MyProject\MyProject.csproj]

У нас были некоторые проблемы в В прошлом, после. Net Core 3.1 был установлен на ведомых устройствах, но указание на 2.2.100 в global.json исправило их.

Теперь мы попытались решить новую проблему при поиске по нескольким источникам Could not load file or assembly 'NuGet.ProjectModel... и тому подобное, перепробовал много разных решений и обходных путей, обновлений и исправлений. Net Базовые и Visual Studio Build Tools. Не повезло.

1 Ответ

1 голос
/ 16 апреля 2020

Наконец, мы обнаружили нечто странное в выводе dotnet build -c Release MyProject.sln -v diag:

MSBuildSDKsPath=C:\Program Files\dotnet\sdk\3.1.101\Sdks\
MSBuildToolsPath=C:\Program Files\dotnet\sdk\2.2.110

Оказалось, что в системе установлена ​​переменная MSBuildSDKsPath, указывающая на SDK, который сломал понижение SDK с global.json. Не знаю, если это было установлено вручную некоторыми моими коллегами или во время установки «чего-то», но это было там и затянуло ~ 2 дня моей жизни: -)

...