C# 在.Net Core 3.1安装后,基于.Net 2.2的构建失败;无法加载文件或程序集NuGet.ProjectModel“; 构建突然开始失败
我们的解决方案包含针对.Net标准2.0、.Net核心2.2和.Net框架4.5的项目。很好的搭配。它是用C# 在.Net Core 3.1安装后,基于.Net 2.2的构建失败;无法加载文件或程序集NuGet.ProjectModel“; 构建突然开始失败,c#,.net,.net-core,msbuild,msbuild-task,C#,.net,.net Core,Msbuild,Msbuild Task,我们的解决方案包含针对.Net标准2.0、.Net核心2.2和.Net框架4.5的项目。很好的搭配。它是用dotnet-c版本MyProject.sln构建的 有一天,我们开始遭受以下错误,但仅在我们的一个构建奴隶身上: C:\Program Files\dotnet\sdk\3.1.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: The
dotnet-c版本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之后,我们遇到了一些问题,但在global.json
中指向2.2.100
解决了这些问题
现在,我们已尝试解决在多个源中搜索无法加载文件或程序集的NuGet.ProjectModel…
和类似内容的新问题,尝试了许多不同的解决方案和解决方法,更新和修复了.Net Core和Visual Studio构建工具。不走运。最后,我们在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天的时间:-)