我有一个必须在x64模式下运行的C#应用程序。问题是我尝试创建在x64应用程序中运行方法的单元测试,而单元测试项目甚至不会构建。尝试构建时出现以下错误。
加载C时出错:..... \ bin \ x64 \ Debug .... UnitTests.dll:无法加载 测试容器'C:..... \ bin \ x64 \ Debug .... UnitTests.dll'或者一个 它的依赖关系。如果将测试项目程序集构建为64 位组装,无法加载。在构建测试项目时 组装,为平台选择“任何CPU”。在64中运行测试 64位处理器上的位模式,您必须更改您的测试设置 “主机”选项卡以32位进程运行测试。错误详情: 无法加载文件或程序集 'file:/// C:..... UnitTests \ bin \ x64 \ Debug .... UnitTests.dll'或其中之一 它的依赖关系。尝试加载带有的程序 格式不正确。
我试图将单元测试更改为x64以及任何CPU,但仍然无法运行它。有没有解决这个问题?
答案 0 :(得分:52)
答案 1 :(得分:40)
我假设您正在使用Visual Studios测试框架,因为您没有提及其他。 在VS2010中,您可以强制测试主机在x64中运行。 将程序集构建为任何CPU或x64,然后将测试主机设置为x64。
答案 2 :(得分:1)
我有类似的问题。 Visual Studio 2010中存在一个奇怪的问题(在x64下),这会在将新项目添加到现有解决方案时更改目标CPU。您确定所有引用和CPU目标都是x64吗?
答案 3 :(得分:1)
我遇到了同样的问题,添加App.config文件
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
</configuration>
答案 4 :(得分:0)
您需要将测试项目的所有引用设置为local(设置为true)。我以前遇到过这个问题,希望它也适合你(我使用的是Windows 7 64位+ VS2012)
答案 5 :(得分:0)
如果清理并重建所有相关程序集,则可以修复此错误。必须有一个文件意外损坏。
VS要改进的一件事是,当检测到错误的格式异常时,请报告文件名。然后开发人员只能重建该文件。
答案 6 :(得分:0)
对于 nunit3 仅适用于喜欢 dotnet test
的用户
这项工作适用于 .NETcore 和 .NETFramework 项目
dotnet test -- RunConfiguration.TargetPlatform=x64