xunit“无法加载类型”错误

时间:2016-10-27 20:28:41

标签: c# asp.net-core .net-core xunit xunit.net

我继承了一个项目,测试运行良好。今天,当我尝试在测试中使用这个类时,我创建了一个新类,xunit错误。

测试项目和应用程序都面向.NET Framework 4.6.1。

我在解决方案和测试项目上都做了清理和重建,但我仍然得到错误。

错误:

无法从程序集“MyApp,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null”加载“MyNewClass”类型。

project.json:

"buildOptions": {
  "warningsAsErrors": true
},
"testRunner": "xunit",
"dependencies": {
  "xunit": "2.2.0-beta4-build3404",
  "dotnet-test-xunit": "2.2.0-preview2-build1029",
  "MyApp": "1.0.0-*",
  "Microsoft.EntityFrameworkCore.InMemory": "1.0.0",
  "NSubstitute": "1.9.2"
},

"frameworks": {
    "net461": {
    }
}

任何人都有任何想法如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

所以,我的问题是MyApp.dll没有得到更新/重新创建,即使在我进行了清理和重建之后。我不得不在MyApp \ test \ MyApp.Tests \ bin \ Debug \ net461 \ win7-x86

中删除文件(包括MyApp.dll)。

答案 1 :(得分:0)

有时,无论出于何种原因,.NET Core依赖关系恢复都无法按预期工作。我刚刚在我的计算机上尝试了project.json并且它抱怨了xunit版本,但是经过多次project.json编辑后,它能够恢复所有依赖项,并成功运行测试

在以下情况下可能有所帮助:

  1. dotnet restore文件所在的文件夹中尝试dotnet build和/或project.json命令。
  2. 删除project.json.lock文件并尝试步骤#1。
  3. 使用dotnet test运行单元测试。
  4. 我发现运行.NET Core项目的这些命令更稳定,并提供比Visual Studio更好的错误输出以进行故障排除。

答案 2 :(得分:0)

我也有这个问题,可以解决这个问题,重新创建项目。

有时候,就像其他答案中指出的那样,事情只会停止正常运行,而最好的办法就是重新开始,重新启动程序,重新创建项目,重新启动机器...

这是Visual Studio,长叹...:)