Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net System.BadImageFormatException:无法加载文件或程序集或其依赖项之一_.net_64 Bit - Fatal编程技术网

.net System.BadImageFormatException:无法加载文件或程序集或其依赖项之一

.net System.BadImageFormatException:无法加载文件或程序集或其依赖项之一,.net,64-bit,.net,64 Bit,我有一个类似的错误。 但是触发错误的条件是不同的 测试名称:Test\u DisableTestUserAccount 测试全名: 测试来源: 测试结果:失败 测试持续时间:0:00:00 结果消息: 无法获取类型#typename#。错误:System.IO.FileLoadException:无法加载文件或程序集“ComponentName.IntTest,版本=1.0.0.0,区域性=中性,PublicKeyToken=a433f9a8cee952”或其依赖项之一。强名称验证失败。(HRE

我有一个类似的错误。 但是触发错误的条件是不同的

测试名称:Test\u DisableTestUserAccount
测试全名:
测试来源:
测试结果:失败
测试持续时间:0:00:00

结果消息:
无法获取类型#typename#。错误:System.IO.FileLoadException:无法加载文件或程序集“ComponentName.IntTest,版本=1.0.0.0,区域性=中性,PublicKeyToken=a433f9a8cee952”或其依赖项之一。强名称验证失败。(HRESULT的例外:0x8013141A)
文件名:“ComponentName.IntTest,版本=1.0.0.0,区域性=中性,PublicKeyToken=433f9a8cee952”-->System.Security.SecurityException:强名称验证失败。(HRESULT的例外:0x8013141A)
失败的程序集区域为:
我的计算机
位于System.Reflection.RuntimeAssembly.\u nLoad(AssemblyName文件名、字符串代码基、证据assemblySecurity、RuntimeAssembly位置提示、StackScrawlMark和stackMark、IntPtr pPrivHostBinder、Boolean throwOnFileNotFound、Boolean ForInspection、Boolean suppressSecurityChecks)
位于System.Reflection.RuntimeAssembly.nLoad(AssemblyName文件名、字符串代码基、证据assemblySecurity、RuntimeAssemblyLocationHint、StackScrawlMark和stackMark、IntPtr pPrivHostBinder、Boolean throwOnFileNotFound、Boolean ForInspection、Boolean suppressSecurityChecks)
位于System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef,证据assemblySecurity,RuntimeAssembly reqAssembly,StackScrawMark&stackMark,IntPtr pPrivHostBinder,Boolean throwOnFileNotFound,Boolean For Inspection,Boolean suppressSecurityChecks)
位于System.Reflection.RuntimeAssembly.InternalLoadFrom(字符串汇编文件、证据安全性证据、字节[]哈希值、AssemblyHashAlgorithm哈希算法、Boolean ForInspection、Boolean suppressSecurityChecks、StackScrawMark和stackMark)
位于System.Reflection.Assembly.LoadFrom(字符串汇编文件)
位于Microsoft.VisualStudio.TestPlatform.MSTestFramework.TypeCache.LoadType(字符串typeName,字符串assemblyName)

条件:

  • 该解决方案具有C#console应用程序及其UnitTest项目
  • InternalsVisibleTo是从控制台应用程序到单元项目启用的
  • 所有项目均已签名
  • sln平台有两种配置:x64和x86(其他配置已删除)

  • 当我运行将访问console应用程序内部元素的单元测试用例时,测试用例将失败并引发上述异常。

    问题的根本原因是我使用x64平台构建sln并使用x86测试设置运行测试用例

    只需使用正确的测试设置平台来运行测试用例:

    • 构建平台应与运行测试用例的平台相同
    截图:
    在VS2010中,应该是

    测试-编辑测试设置-本地-主机


    此外,您需要检查Build-configurationmanager,在项目中明确地以x64为目标永远不会有用。始终选择AnyCPU,如果您依赖于非托管代码,则仅为您的EXE项目选择x86。我们的系统编译为x64,这是我们的发布目标。无论如何,谢谢你。我做了一个干净的构建,然后一个构建,错误消失了