无法解析程序集或 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 无法加载文件或程序集或其依赖项之一。试图加载格式不正确的程序