类型宇宙无法解析程序集:System.Configuration,以及无法解析程序集或Windows元数据文件'System.Configuration.dll'。

19

我正在使用VS2015在Win10上开发UWP应用程序。我的应用程序以前运行得很完美,但今天当我尝试运行应用程序时,即使我没有对代码进行任何更改...它显示了2个错误,现在无法运行。

1. Type universe cannot resolve assembly: System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a.      

2. Cannot resolve Assembly or Windows Metadata file 'System.Configuration.dll'  
这些错误是什么...我没找到令人满意的解决方案。 enter image description here

在解决方案资源管理器的“引用”部分查看是否有任何条目显示黄色感叹号。如果没有,请检查是否列出了System.Configuration.dll。无论如何,我会先尝试删除故障引用(如果存在),然后再重新添加它。 - Oliver Ulm
@OliverUlm,问题是!引用中没有感叹号...所以这是一个有点令人困惑的错误...我认为这是一个内部错误。因此,为了解决这个问题,我只是创建了另一个空白项目,并使用相同的名称复制了所有文件夹和页面等到新项目中,然后运行它...结果完美运行。 顺便说一句,感谢您的关注。 - Zia Ur Rahman
1
很高兴听到你已经成功解决了它。如果你还有损坏的版本,你可以在项目上运行DIFF来查看可能引起问题的原因。 - Oliver Ulm
7个回答

11

我能够通过勾选"Visual Studio中自动检查缺失包"(已经勾选了“允许NuGet下载缺失的包”)并重新构建来解决这个问题。你可以在工具--> NuGet包管理器 --> 包管理器设置中找到这些设置。


1
一个非常简单的解决方案! - Arek
2
这个方法对我不起作用。我首先要遵循另一个答案,该答案指出:“我通过删除C:\Users%username%.nuget目录来解决了类似的问题。” 然后我回来按照你的答案操作,它就奏效了。 - Stuart Aitken

4

我曾通过删除C:\Users\%username%.nuget目录来解决类似的问题。


3

请参考此链接,需要移除"Microsoft.VisualStudio.QualityTools.UnitTestFramework"。


2

UWP C# XAML 应用程序,MVS2017

今天我遇到了一个类似的问题,在安装了一个新的 NUGET 包(具体是 NUGET 包 Microsoft.Toolkit.Uwp.UI.Controls)后构建时出现以下错误:

"cannot resolve assembly or windows metadata file 'type universe cannot resolve assembly: netstandard, version=2.0.0.0, culture=neutral, …"

事实证明是由于NUGET包版本不兼容。我通过在NUGET包管理器中尝试不同的包版本来发现这个问题。经过一些试错,我发现通过降级新安装的包的版本,并升级另一个包的版本(在这种情况下为NewtonSoft.Json),我可以正常构建而没有错误或警告...

2

在我的NuGet包更新后,我遇到了这个错误。

我通过更新TargetPlatformMinVersion(在我的情况下,它从10.0.17763.0更新到10.0.18362.0)来解决它。


1

我打开了这个选项:

工具 --> NuGet 包管理器 --> 包管理器设置

允许 Nuget 下载缺失的包 在 Visual Studio 中构建时自动检查缺失的包

但是我遇到了一个 Nuget 错误,说有一个文件锁定

我必须按照以下方法来解决它:

  1. 进入 C:\Users\username\AppData\Local\Temp 目录
  2. 删除 NugetScratch 文件夹

0

我在一个有点过时的构建脚本中遇到了这个问题。它是一个使用一个顶层SLN文件组成的多个SLN文件的构建,来自于许多项目和努力。我曾经可以只做以下操作:

call nuget restore "%Top_Level_SLN_File%" -Recursive

并且相信所有的包都会被还原。现在我必须运行以下命令:

for /r %%I IN (*.sln) DO call nuget restore "%%~I" -Recursive

这可能与正在利用某些包的私有nuget feed有关,但这可能是一个误导。我还没有深入研究这个问题以获取最小的重现步骤。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接