.net System.BadImageFormatException:无法加载文件或程序集或其依赖项之一
我有一个类似的错误。 但是触发错误的条件是不同的 测试名称:Test\u DisableTestUserAccount.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
测试全名:
测试来源:
测试结果:失败
测试持续时间: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) 条件:
当我运行将访问console应用程序内部元素的单元测试用例时,测试用例将失败并引发上述异常。问题的根本原因是我使用x64平台构建sln并使用x86测试设置运行测试用例 只需使用正确的测试设置平台来运行测试用例:
- 构建平台应与运行测试用例的平台相同
在VS2010中,应该是 测试-编辑测试设置-本地-主机
此外,您需要检查Build-configurationmanager,在项目中明确地以x64为目标永远不会有用。始终选择AnyCPU,如果您依赖于非托管代码,则仅为您的EXE项目选择x86。我们的系统编译为x64,这是我们的发布目标。无论如何,谢谢你。我做了一个干净的构建,然后一个构建,错误消失了