Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
设计时的UWP:“UWP”;无法加载文件或程序集“;适用于各种NuGet软件包_Uwp_Json.net_Nuget_System.reactive_Xaml Designer - Fatal编程技术网

设计时的UWP:“UWP”;无法加载文件或程序集“;适用于各种NuGet软件包

设计时的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包中遇到了一个不同的(但似乎相关)错误:

我正在使用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)存在类似问题

要重现问题,请执行以下操作:

  • 创建一个新的UWP项目(不管目标是什么,这似乎无关紧要)
  • 创建新的
    UserControl
  • 在这个UserControl的构造函数中,添加一些引用这些包的代码,例如,
    var s=new Subject()并添加
  • 将该用户控件添加为MainPage.XAML中的XAML元素
  • 编译并记录错误
  • 。。。或者看看这个样本

    令人沮丧的是,在我的UWP项目中,这三大软件包(System.Reactive、Newtonsoft.Json、AutoMapper)在几周前切换到VS 2017之前的VisualStudio2015中都运行良好

    到目前为止,唯一有效的方法是将Newtonsoft.Json从最新的v10.0.3降级到v9.0.1(降级到v10.0.2或10.0.1不起作用)。不幸的是,我无法降级System.Responsive,因为它们的未列出版本低于3.0

    我还尝试过修复我的VS安装,以及安装mobile/xamarin组件


    任何解决方法或见解都将不胜感激,因为这对我来说是一个阻碍问题,谢谢

    问题在于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