无法解析程序集或 Windows 元数据文件“System.Configuration.dll”

Posted

技术标签:

【中文标题】无法解析程序集或 Windows 元数据文件“System.Configuration.dll”【英文标题】:Cannot resolve Assembly or Windows Metadata file 'System.Configuration.dll' 【发布时间】:2016-07-05 16:26:55 【问题描述】:

我正在尝试在 Visual Studio 中编译一个小型测试版本(用 C# 编写)。但是,我在尝试这样做时遇到两个错误并且找不到问题。没有给出行:

错误 1: small_project.csproj

错误 2:

Type Universe 无法解析程序集:System.Configuration、Version 2.0.0.0、Culture=neutral、PublicKeyToken.. etc..

我是 C# 和 XAML 开发的新手。有人知道什么可能导致这些错误吗?

【问题讨论】:

在项目中查看您的参考资料。 @JoséFrancisco 那里没有 System.Configuration.dll。我想我必须寻找那个? @JoséFrancisco 所以它不存在。如何添加? 参考 ->(右键)添加参考 -> 程序集 -> System.Configuration 它说:“所有框架程序集都已被引用。请使用对象浏览器浏览框架中的引用”。我这样做了,但该列表中不存在 System.Configuration。 【参考方案1】:

我知道这个问题很老了,但我面临着同样的错误。我使用各种测试框架完成了许多 xaml 应用程序。我认为您可能已经使用单元测试模板制作了通用 Windows 应用程序。添加的 MStest 框架中的某些内容给了我您在此处报告的相同异常。在环顾四周后,我观看了第 9 频道的视频,其中提到他们使用 xUnit 进行 UWP 测试。我去了这个网站xUnit on github 并做了他们提到的事情:

删除对 ms 测试的引用 打开项目.json 添加 xunit 2.1 和 xunit.runners.visualstudio 2.1 依赖项 修复我的单元测试以使用 xUnit 而不是 MsTest/Nunit 构建 打开测试资源管理器并运行所有测试

我必须记住,测试 UWP 将不同于普通应用程序,因此会改变我的期望。希望这对其他人和 OP 都有帮助。

【讨论】:

【参考方案2】:

当我在 Jenkins 上尝试远程构建时,我的项目的 nuget 包不可用时,我遇到了这个问题。

我刚刚添加了一个构建步骤来定位 NuGet,然后在项目/解决方案上调用 restore 来解决此问题以实现自动化。

这只是我正在复制的一段脚本,因此请根据您的需要进行更新:

where nuget > nul 2>&1 nul
IF "%errorlevel%"=="0" where nuget > .\where_nuget.txt && Set where_nuget=where_nuget.txt
IF NOT "%where_nuget%"=="" FOR /F "tokens=*" %%I IN ('type where_nuget.txt') DO call "%%I" restore "%Build_Target%"

【讨论】:

【参考方案3】:

在我的情况下,问题是我的 UWP 项目引用了一个引用 System.Web.Application.dll 的项目。我做到了:

从父项目中删除引用 清理并构建父项目 在子项目中更新服务参考 清理并构建子项目 从子项目 (System.Web.dll) 中删除未使用的引用

我了解到最好使用 nuget 包而不是手动添加引用。

【讨论】:

以上是关于无法解析程序集或 Windows 元数据文件“System.Configuration.dll”的主要内容,如果未能解决你的问题,请参考以下文章

无法加载文件或程序集或其依赖项之一

BadImageFormatException 无法加载文件或程序集或其依赖项之一。试图加载格式不正确的程序

无法加载文件或程序集或其依赖项之一。访问被拒绝。问题是随机的,但发生一次后,它会继续

qaf 2.1.13中无法解析要素文件中的元数据标签

CRM 2015 + 元数据包含无法解析的引用

无法 AOT 程序集或您必须调用 LoadApplication()