【问题标题】:Nuget restore failed with "Packages not compatible" errorNuget 还原失败,出现“包不兼容”错误
【发布时间】:2016-11-09 00:41:05
【问题描述】:

我不确定我的解决方案中究竟更新了什么,但我在尝试构建时收到了很多错误。 Visual Studio 中的错误列表有一堆这样的错误:

Package System.Xml.XmlSerializer 4.0.10 不兼容portable45-net45+win8 (.NETPortable,Version=v4.5,Profile=Profile7)。包 System.Xml.XmlSerializer 4.0.10 支持:

  • dnxcore50(DNXCore,版本=v5.0)
  • dotnet (.NETPlatform,Version=v5.0)
  • monoandroid10 (MonoAndroid,Version=v1.0)
  • monotouch10 (MonoTouch,Version=v1.0)
  • net46 (.NETFramework,Version=v4.6)
  • netcore50 (.NETCore,Version=v5.0)
  • xamarinios10 (Xamarin.iOS,Version=v1.0)
  • xamarinmac20 (Xamarin.Mac,Version=v2.0)

它对各种 System 和 Microsoft 命名空间包都这么说。在我的构建输出结束时它说:

一个或多个包不兼容 .NETPortable,版本=v4.5,配置文件=配置文件7(win10-x86-aot)。 NuGet 包还原失败。

但是,即使出现错误,我的解决方案仍然可以正常构建和运行。如何摆脱错误列表中的错误以及它们来自哪里?在错误列表中,它没有说明错误是由哪个项目、文件或行号引起的。

【问题讨论】:

  • 这可能是 NuGet 或 Visual Studio 端的缓存问题。尝试关闭 Visual Studio 并清除两个缓存

标签: c# .net visual-studio nuget


【解决方案1】:

首先,您应该使用支持 .NET Platform Standard 的 4.0.11,

https://www.nuget.org/packages/System.xml.xmlserializer

其次,将你的 NuGet VS 插件更新到最新版本,使其能够正确解决 PCL 和 .NET Platform Standard 之间的关系。

【讨论】:

  • 我有 nuget 3.5.0,看起来像是测试版。我不确定我是怎么做到的,但我会尝试回滚到 3.4.4,看看是否能解决问题。
  • 恢复到 nuget 3.4.4 没有解决问题
  • 听起来这个概念已经准备好了,但工具还没有,github.com/dotnet/corefx/blob/master/Documentation/architecture/…
  • 我还尝试将我认为有问题的项目移至 .NET Platform Standard,但最终从 500 多个错误变为 1000 多个......我想我需要做更多的阅读。新架构太混乱了。
猜你喜欢
  • 2018-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-07
  • 1970-01-01
  • 2017-11-14
  • 2023-02-01
相关资源
最近更新 更多