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

13

我正在尝试在Visual Studio中编译一个小型的C#测试构建,但是在尝试时遇到了两个错误,而且找不到问题。没有给出任何行:

错误1:small_project.csproj

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

错误2:

类型宇宙无法解析程序集:System.Configuration、版本 2.0.0.0、Culture=neutral、PublicKeyToken.. 等等..

我刚开始使用C#和XAML进行开发。有人知道这些错误是什么原因吗?


在项目中查看您的参考资料。 - José Francisco
@JoséFrancisco 那里没有 System.Configuration.dll。我猜我得去找一下? - Matthijs
@JoséFrancisco,它不在那里。我该如何添加它? - Matthijs
引用 ->(右键)添加引用 -> 程序集 -> System.Configuration - José Francisco
它说:“所有框架程序集已被引用。请使用对象浏览器来探索框架中的引用。”我这样做了,但System.Configuration在列表中不存在。 - Matthijs
显示剩余2条评论
3个回答

0

我知道这个问题很老了,但是我也遇到了同样的错误。我已经使用了各种测试框架来完成了许多XAML应用程序。我认为你可能使用了单元测试模板创建了通用Windows应用程序。MStest框架中添加的某些内容会导致我遇到了你在这里报告的相同异常。经过大量查找,我观看了一个Channel 9视频,其中提到他们在UWP测试中使用xUnit。我去了这个网站xUnit on github并按照他们所说的做了以下事情:

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

我必须记住,测试UWP将与普通应用程序不同,因此要改变我的期望。希望这能帮助其他人以及OP。


0

我在使用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%"

0
在我的情况下,问题是我的UWP项目引用了一个引用System.Web.Application.dll的项目。 我所做的是:
  • 从父项目中删除引用
  • 清理并构建父项目
  • 更新子项目中的服务引用
  • 清理并构建子项目
  • 从子项目中删除未使用的引用(System.Web.dll)
我学到了最好使用nuget包而不是手动添加引用。

System.Web.ApplicationServices-Error


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