“ResolvePackageAssets”任务意外失败 - System.TypeLoadException

问题描述 投票:0回答:15

我正在尝试在 macos (10.14.3) 上设置 Visual Studio 2019,但是当尝试构建默认 Web MVC 项目时,我收到此依赖项错误:

    Target _CheckForNETCoreSdkIsPreview:
    /usr/local/share/dotnet/sdk/3.0.100-preview3-010431/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(151,5): message NETSDK1057: You are using a preview version of .NET Core. See: https://aka.ms/dotnet-core-preview
Target ResolvePackageAssets:
    /usr/local/share/dotnet/sdk/3.0.100-preview3-010431/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(228,5): error MSB4018: The "ResolvePackageAssets" task failed unexpectedly.
    /usr/local/share/dotnet/sdk/3.0.100-preview3-010431/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(228,5): error MSB4018: System.TypeLoadException: Could not resolve type with token 0100003f from typeref (expected class 'NuGet.Packaging.Core.PackageDependency' in assembly 'NuGet.Packaging, Version=5.0.0.4, Culture=neutral, PublicKeyToken=31bf3856ad364e35')
    /usr/local/share/dotnet/sdk/3.0.100-preview3-010431/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(228,5): error MSB4018:   at Microsoft.NET.Build.Tasks.ResolvePackageAssets+CacheWriter.GetPlatformPackageExclusions () [0x000d7] in <9524e6fbf1724027a475d15b01fab866>:0 
    /usr/local/share/dotnet/sdk/3.0.100-preview3-010431/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(228,5): error MSB4018:   at Microsoft.NET.Build.Tasks.ResolvePackageAssets+CacheWriter..ctor (Microsoft.NET.Build.Tasks.ResolvePackageAssets task, System.IO.Stream stream) [0x0009b] in <9524e6fbf1724027a475d15b01fab866>:0 
    /usr/local/share/dotnet/sdk/3.0.100-preview3-010431/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(228,5): error MSB4018:   at Microsoft.NET.Build.Tasks.ResolvePackageAssets+CacheReader.CreateReaderFromDisk (Microsoft.NET.Build.Tasks.ResolvePackageAssets task, System.Byte[] settingsHash) [0x0003a] in <9524e6fbf1724027a475d15b01fab866>:0 
    /usr/local/share/dotnet/sdk/3.0.100-preview3-010431/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(228,5): error MSB4018:   at Microsoft.NET.Build.Tasks.ResolvePackageAssets+CacheReader..ctor (Microsoft.NET.Build.Tasks.ResolvePackageAssets task) [0x00015] in <9524e6fbf1724027a475d15b01fab866>:0 
    /usr/local/share/dotnet/sdk/3.0.100-preview3-010431/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(228,5): error MSB4018:   at Microsoft.NET.Build.Tasks.ResolvePackageAssets.ReadItemGroups () [0x00000] in <9524e6fbf1724027a475d15b01fab866>:0 
    /usr/local/share/dotnet/sdk/3.0.100-preview3-010431/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(228,5): error MSB4018:   at Microsoft.NET.Build.Tasks.ResolvePackageAssets.ExecuteCore () [0x00018] in <9524e6fbf1724027a475d15b01fab866>:0 
    /usr/local/share/dotnet/sdk/3.0.100-preview3-010431/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(228,5): error MSB4018:   at Microsoft.NET.Build.Tasks.TaskBase.Execute () [0x00000] in <9524e6fbf1724027a475d15b01fab866>:0 
    /usr/local/share/dotnet/sdk/3.0.100-preview3-010431/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(228,5): error MSB4018:   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute () [0x00023] in /Users/builder/jenkins/workspace/build-package-osx-mono/2018-10/external/bockbuild/builds/msbuild-15/src/Build/BackEnd/TaskExecutionHost/TaskExecutionHost.cs:573 
    /usr/local/share/dotnet/sdk/3.0.100-preview3-010431/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(228,5): error MSB4018:   at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask (Microsoft.Build.BackEnd.ITaskExecutionHost taskExecutionHost, Microsoft.Build.BackEnd.Logging.TaskLoggingContext taskLoggingContext, Microsoft.Build.BackEnd.TaskHost taskHost, Microsoft.Build.BackEnd.ItemBucket bucket, Microsoft.Build.BackEnd.TaskExecutionMode howToExecuteTask) [0x00212] in /Users/builder/jenkins/workspace/build-package-osx-mono/2018-10/external/bockbuild/builds/msbuild-15/src/Build/BackEnd/Components/RequestBuilder/TaskBuilder.cs:784 
Done building target "ResolvePackageAssets" in project "TestingApp.csproj" -- FAILED.

Done building project "TestingApp.csproj" -- FAILED.

Build FAILED.

我还尝试使用

dotnet run
从终端运行它并且它有效,但我无法使用 Visual Studio。谢谢。

macos visual-studio
15个回答
46
投票

只需从项目中删除 BIN 和 OBJ 目录并重建即可。


22
投票

从命令行尝试:

  • 点网清洁
  • dotnet 构建

这对我有用。请查看此处了解更多信息


5
投票

根本原因:-

此错误是由于项目(共享项目、iOS 项目、Android 项目)中的 Nuget 包版本兼容性不同所致。

解决方案:-

1.更新每个Nuget包,其中在nuget包前面显示更新版本。

2.清洁溶液。

3.构建解决方案,


4
投票

就我而言。转到 C:\Program Files(x86)\Microsoft Visual Studio\Shared 然后创建一个新文件夹,名称为“NugetPackages”

再次构建并运行程序,问题已解决。


0
投票

刚刚遇到了同样的问题。 原因是,在主项目 Build-General 的项目选项中,目标框架已更改,不知道为什么。 对于我的项目,它应该是 Xamarin.Mac Full Net 4.7.2,但无论出于何种原因,它现在是 Xamarin.Mac Modern。 改回 Full,一切又恢复正常了。

我记得,不久前,在 VS Mac 再次更新后,这种情况已经再次发生过。 作为多年的 Xamarin 用户,我知道许多 Xamarin 更新正在破坏一些以前很好的东西。


0
投票

就我而言,以提升的权限运行 Visual Studio 是解决方案。


0
投票

就我而言,我从离线源安装了 Nuget 包,但该文件不再存在,在删除该包并从正确的源重新安装该包后,问题得到解决。


-1
投票

对我来说,这里的解决方案都不起作用,但 Visual Studio 软件更新完成了这项工作。

这通常发生在 Mono 的

MSBuild
(Visual Studio 正在使用它来构建项目)不支持您正在使用的
SDK
版本时,这可能会生成许多(例如)为
.NET 5 构建的包
并要求
Nuget 5 Packaging
无法使用
MSBuild
进行构建。

您通常会收到以下错误之一:

  • Microsoft.NET.Sdk.targets(124, 5): [MSB4018] The "PACKAGE_NAME" task failed unexpectedly.
  • Microsoft.PackageDependencyResolution.targets(234, 5): [MSB4018] The "ResolvePackageAssets" task failed unexpectedly.

因此安装或更改为兼容的

MSBuild
,或更改
SDK
通常应该可以解决问题。

您可以在这里找到更多有用的信息:


-1
投票

以提升的权限打开 Visual Studio(以管理员身份运行) 然后尝试清理并重建。


-1
投票

我发现(在使用.Net6的VS2022下)我所要做的就是创建 下有一个空文件夹:

C:\Program Files (x86)\ComponentOne\Winforms 版本 5

然后通过 VS2022 菜单中的“Build/Rebuild”执行项目重建。


-1
投票

就我而言,我关闭并重新打开 VS 2022。现在它恢复工作了!


-1
投票

我在单元测试项目中遇到了这个问题。问题是对库的重复引用,尽管尚不清楚如何开始。

例如

UnitTest.csproj
项目参考:

  • Main.csproj
  • SharedLibraries.csproj

但是,关键的是,

Main.csproj
还引用了
SharedLibraries.csproj
,所以就出现了这个错误。

UnitTest.csproj
更改为仅参考
Main.csproj
解决了问题(并且仍然保留通过主项目对
SharedLibraries.csproj
的访问)。


-1
投票

就我而言,我在解决方案中添加了一个现有项目,之前我在解决方案中的两个项目中将其引用为 NuGet 包。 问题是,在一个解决方案项目中,我将外部项目引用为源代码,而在另一个解决方案项目中,我将其引用为 NuGet 包。

我猜想具有相同导出类型的相同程序集在以两种不同方式导入时会导致问题。

问题的解决方案是在两个解决方案项目中仅以一种方式一致添加相同的程序集/项目,即作为源代码项目或作为 NuGet 包,但不能混合。


-2
投票

在您的项目/lib 上尝试以下步骤:

  1. 如果您正在使用多个目录结构,请对其应用完整权限
  2. 如果您使用旧版本的 NuGet,请使用最新或兼容版本更新它们
  3. 如果仍然不起作用,则删除 bin 文件夹并再次执行步骤 1 和 2。

这对我有用。


-3
投票

只需重建项目即可。它会自动清理并恢复所需的文件,然后构建项目

© www.soinside.com 2019 - 2024. All rights reserved.