设计时的UWP:“UWP”;无法加载文件或程序集“;适用于各种NuGet软件包
我正在使用Visual Studio 2017 v15.3.3。我的UWP项目的目标是Windows Creators Update 15063,我的Nuget软件包如下: 我的解决方案构建时没有错误,运行良好,但是在我的UWP应用程序项目中,我在设计时遇到了错误,因为我的代码隐藏和/或ViewModel代码引用了NuGet软件包。这就是我所看到的: 此问题并非System.Responsive独有。我在Newtonsoft.Json v10.0.3包中遇到了一个不同的(但似乎相关)错误:设计时的UWP:“UWP”;无法加载文件或程序集“;适用于各种NuGet软件包,uwp,json.net,nuget,system.reactive,xaml-designer,Uwp,Json.net,Nuget,System.reactive,Xaml Designer,我正在使用Visual Studio 2017 v15.3.3。我的UWP项目的目标是Windows Creators Update 15063,我的Nuget软件包如下: 我的解决方案构建时没有错误,运行良好,但是在我的UWP应用程序项目中,我在设计时遇到了错误,因为我的代码隐藏和/或ViewModel代码引用了NuGet软件包。这就是我所看到的: 此问题并非System.Responsive独有。我在Newtonsoft.Json v10.0.3包中遇到了一个不同的(但似乎相关)错误:
Could not load file or assembly 'Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The bound assembly has a version that is lower than that of the request. (Exception from HRESULT: 0x80132000)
有趣的是,降级System.Responsive tov3.0.0并没有解决问题:错误声称系统找不到v3.0.0程序集
最新AutoMapper软件包(v6.1.1)存在类似问题
要重现问题,请执行以下操作:
UserControl
var s=new Subject()使用System.Reactive.Subjects编码>并添加代码>
任何解决方法或见解都将不胜感激,因为这对我来说是一个阻碍问题,谢谢 问题在于3.0.0版本的
System.Reactive
无法与UWP非常兼容。我通过在PackageManager控制台中使用以下命令更新来解决这个问题
Install-Package System.Reactive -Version 4.0.0-preview00001
您还可以在xaml设计器中禁用项目代码来解决此问题。有关更多信息,请参阅
在许多情况下,当应用程序在设计器中运行时,项目代码试图访问返回不同值或以不同方式工作的属性或方法,可能会导致XAML设计器中未处理的异常。您可以通过在Visual Studio的另一个实例中调试项目代码来解决这些异常,也可以通过在设计器中禁用项目代码来临时防止这些异常
更新
对于Newtonsoft.Json
,WinRT组件似乎未能找到Newton.Json的正确程序集。暂时的解决方法是手动添加Newtonsoft.json.dll
文件。您可以通过以下步骤实现这一点:
右键单击引用->添加引用->浏览…->查找C:\Users.nuget\packages\Newtonsoft.Json\10.0.3\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll->单击添加按钮。
重建项目并运行。这个错误应该消失了\
您还可以使用上述方法来解决
AutoMapper
问题 问题在于3.0.0版本的System.Reactive
无法与UWP非常兼容。我通过在PackageManager控制台中使用以下命令更新来解决这个问题
Install-Package System.Reactive -Version 4.0.0-preview00001
您还可以在xaml设计器中禁用项目代码来解决此问题。有关更多信息,请参阅
在许多情况下,当应用程序在设计器中运行时,项目代码试图访问返回不同值或以不同方式工作的属性或方法,可能会导致XAML设计器中未处理的异常。您可以通过在Visual Studio的另一个实例中调试项目代码来解决这些异常,也可以通过在设计器中禁用项目代码来临时防止这些异常
更新
对于Newtonsoft.Json
,WinRT组件似乎未能找到Newton.Json的正确程序集。暂时的解决方法是手动添加Newtonsoft.json.dll
文件。您可以通过以下步骤实现这一点:
右键单击引用->添加引用->浏览…->查找C:\Users.nuget\packages\Newtonsoft.Json\10.0.3\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll->单击添加按钮。
重建项目并运行。这个错误应该消失了\
您还可以使用上述方法来解决
AutoMapper
问题 您的问题是什么?我的问题是:是否有解决方案或解决方法?请尝试将此软件包“Microsoft.NETCore.UniversalWindowsPlatform”降级为5.3.4或更高版本。另外,用你得到的错误更新问题@Nicochu MSFT,当然,我这里有一个VS解决方案:@AnastasiosMoratis,我尝试降级到v5.3.4,没有区别。你的问题是什么?我的问题是:有解决方案或解决方法吗?尝试将此包:“Microsoft.NETCore.UniversalWindowsPlatform”降级到5.3.4或更高。另外,用你得到的错误更新问题@Nicochu MSFT,当然,我这里有一个VS解决方案:@anastasiosmoratis,我尝试降级到v5.3.4,没有区别您的建议似乎解决了系统的问题。被动,然而,我仍然对Json.net有一个问题:在安装了最新的v10.0.3包并在代码隐藏中引用它之后,我得到了这个错误无法加载文件或程序集“Newtonsoft.Json,Version=10.0.0.0,Culture=neutral,PublicKeyToken=30ad4fe6b2a6eed”或其依赖项之一。绑定程序集的版本低于请求的版本。(HRESULT的例外:0x80132000)
T