无法在带有.NET标准库的

时间:2017-10-09 08:55:29

标签: xamarin.forms .net-standard

我正在使用.NET Standard为共享库而不是PCL设置Xamarin.Forms应用程序。我已按照此处列出的说明进行操作:https://channel9.msdn.com/Shows/XamarinShow/Snack-Pack-15-Upgrading-to-XamarinForms-to-NET-Standard

这是一个全新的Xamarin.Forms应用程序,使用带有PCL的Visual Studio 2017创建,后者被视频中描述的.NET标准库取代。

UWP应用程序编译正常,但在我尝试启动它时会抛出此异常(通过调用Xamarin.Forms.Forms.Init

  

System.IO.FileLoadException:'无法加载文件或程序集System.Runtime,Version = 4.1.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT的例外情况:0x80131040)'

我已尝试将System.Runtime版本4.1.0的nuget软件包专门添加到UWP项目中,但这似乎没什么帮助。它在Android中运行良好,但不断给我这个运行UWP项目的异常。谁能告诉我可能导致这种情况的原因以及我如何解决这个问题?

编辑: 构建日志中存在一个非常类似的错误:

  

无法解析此引用。无法找到程序集" System.Runtime,Version = 4.1.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"。检查以确保磁盘上存在程序集。如果您的代码需要此引用,则可能会出现编译错误。

接下来是一个非常长的地方列表。

我也发现了这一点,这似乎可能是问题所在:

  

2 - ; " System.Runtime,Version = 4.0.20.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"之间存在冲突。和" System.Runtime,Version = 4.1.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"。
     2 - ; " System.Runtime,Version = 4.0.20.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"之所以被选中是因为它是主要的,并且" System.Runtime,Version = 4.1.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"不是。

有谁知道如何解决这个冲突?

编辑2: 在上面的构建日志之后还有这个,这更令人困惑,因为它似乎表明引用System.Runtime版本4.0.20.0的唯一东西是......版本4.3.0的系统。运行时???

  

2 - ;引用取决于" System.Runtime,Version = 4.0.20.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a" [C:\用户\ Katie.nuget \包\ system.runtime \ 4.3.0 \ REF \ netcore50 \ System.Runtime.dll]
。      2 - ; C:\ Users \用户Katie.nuget \包\ system.runtime \ 4.3.0 \参考\ netcore50 \ System.Runtime.dll
     2 - ;项目文件项包括引起参考" C:\ Users \ Katie.nuget \ packages \ system.runtime \ 4.3.0 \ ref \ netcore50 \ System.Runtime.dll"。
     2 - ; C:\ Users \用户Katie.nuget \包\ system.runtime \ 4.3.0 \ REF \ netcore50 \ System.Runtime.dll

0 个答案:

没有答案