问题标签 [badimageformatexception]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 无法加载文件或程序集“xxxLib”或其依赖项之一。坏图像格式异常
从我在不同帖子中读到的内容来看,这是一个与 32 位和 64 位应用程序相关的错误。但是,我所有的项目都是用 x64 构建的。
xxxLib
, 是最近更新为 64 位的三个项目正在使用的旧库。它工作正常。直到我将它添加到WebSite
项目中。
这是当前的装配负载跟踪:
LOG:此绑定在默认加载上下文中开始。
LOG:使用应用程序配置文件:
C:\Users\LuisLavieri\Documents\Visual Studio 2013\Projects\Website\WebSite\web.config
LOG:使用主机配置文件:
C:\Users\LuisLavieri\Documents\IISExpress\config\aspnet.config
LOG:使用来自的机器配置文件
C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config。
LOG:此时未将策略应用于引用(私有、自定义、部分或基于位置的程序集绑定)。
日志:尝试下载新 URL
file:///C:/Users/LuisLavieri/AppData/Local/Temp/Temporary ASP.NET Files/root/8500ede2/8446907/xxxLib.DLL。
日志:尝试下载新 URL
file:///C:/Users/LuisLavieri/AppData/Local/Temp/Temporary ASP.NET Files/root/8500ede2/8446907/xxxLib/xxxLib.DLL。
日志:尝试下载新 URL
file:///C:/Users/LuisLavieri/Documents/Visual Studio 2013/Projects/WebSite/WebSite/bin/xxxLib.DLL。
ERR:无法完成程序集的设置(hr = 0x8007000b)。探测终止。
所以,如果我没记错的话,它似乎是在尝试将机器配置文件用于 32 位应用程序,对吧?
它出现在这一行:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config。
如果这是问题所在,我该如何指出使用 64 位的解决方案?
谢谢
.net - IIS7.5 应用程序错误
当我进入我的网站时收到此消息
空程序集简单名称。
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.BadImageFormatException:空程序集简单名称。
源错误:
在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。
堆栈跟踪:
[BadImageFormatException:空程序集简单名称。]
[BadImageFormatException:无法加载文件或程序集“System.Web.Abstractions,版本=3.5.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。试图加载格式不正确的程序。]
System.Web.UI.ScriptManager.OnInit(EventArgs e) +0
System.Web.UI.Control.InitRecursive(控件命名容器)+333
System.Web.UI.Control.InitRecursive(控件命名容器)+210
System.Web.UI.Control.InitRecursive(控件命名容器)+210
System.Web.UI.Page.ProcessRequestMain(布尔 includeStagesBeforeAsyncPoint,布尔 includeStagesAfterAsyncPoint)+378
版本信息:Microsoft .NET Framework 版本:2.0.50727.5485;ASP.NET 版本:2.0.50727.5491
我有 2 台服务器,该站点在一台服务器上运行,但在另一台服务器上运行
请帮忙
listview - .resources 文件中序列化的类型与 .resources 文件所说的类型不同
我们已将一个大型项目从 .NET 3.5 升级到 .NET 4.0。一切正常,除了从 ListView 加载资源的错误。现在我们就在发布之前,这是一个非常严重的障碍。
这是 Microsoft 的一个已知问题,例如此处或此处。此问题有一个修补程序,但我们尝试了所有可用的 .NET Framework 4.0 服务包,但没有任何效果。
We tried to install: KB2416472, KB2487367, KB2604121, KB2729449, KB2736428, KB2737019, KB2742595, KB2840628, KB2858302v2, KB2861188, KB2972106, KB2972215, KB2978125, KB2979575v2, KB3023221, KB3032662, KB3037578, KB3048074, KB3072309, KB3074547 - but without success.
修复程序应在 4.0.30319.461 (GDR) 中的 CLR 中。
我还尝试更改设计器位,以强制 Visual Studio 将其更改为 .NET 4 格式。它没有帮助。
解决此问题的唯一方法是安装 .NET Framework 4.5.2。但我们不想放弃对 Windows XP 的支持。
另一种解决方案是将所有此类用户控件的Localizable属性切换为 false。这对我来说似乎有很多工作,我们希望保持本地化。这足够了吗?我们无法在发布前的合理时间内测试所有控制和场景。
有什么真正的解决办法吗?是否有可用的服务包?
我不想相信 .NET Framework 4.0 不稳定。这个 Winform 控件是 .NET 中的一个基本功能!
unit-testing - 所有单元测试都用 Moq 抛出 BadImageFormatException?
我目前正在增加我们软件产品的代码覆盖率并且遇到了问题;由于抛出“BadImageFormatException”,我的所有单元测试(使用“任何 CPU”编译时)都失败了。
可以通过使用“x86”而不是“任何 CPU”构建解决方案来规避此异常,但是要求是我们需要能够使用任何 CPU/x64 位运行它们。
所有涉及 Moq 的单元测试都遵循几乎相同的格式:
我可以确认这个测试在使用 x86 构建时是成功的。有没有人知道如何让 Moq 在使用“任何 CPU”构建时发挥出色?
顺便说一句,我还可以确认我在解决方案中的所有项目都是使用相同的值(“任何 CPU”)构建的。我正在使用 Moq v4.0。
编辑:这是完整的异常:测试方法 [ProductName 和调用的方法] 抛出异常:System.BadImageFormatException:无法加载文件或程序集'[产品名称],版本 = 1.0.0.0,文化 = 中性,PublicKeyToken = null'或其依赖项之一。试图加载格式不正确的程序。
c# - TeamCity:GhostscriptSharp:试图加载格式不正确的程序。(来自 HRESULT 的异常:0x8007000B)
在 CI 上运行测试时 PDF 转换失败。我正在使用 GhostscriptsSharp 库进行转换。
在本地运行我的测试时我没有遇到这个问题,PDF 文件被正确转换为图像。
我一直在互联网上寻找解决方案,但到目前为止,我发现的每一件事都没有帮助我找到解决方案。
试图加载格式不正确的程序。(来自 HRESULT 的异常:0x8007000B)
System.BadImageFormatException:试图加载格式不正确的程序。(HRESULT 异常:0x8007000B)在 GhostscriptSharp.GhostscriptWrapper.CreateAPIInstance(IntPtr& pintance, IntPtr caller_handle) 在 GhostscriptSharp.GhostscriptWrapper.CallAPI(String[] args) 在 GhostscriptSharp.GhostscriptWrapper.GeneratePageThumbs(String inputPath, String outputPath, Int32 firstPage, Int32 lastPage , Int32 宽度, Int32 高度) 在 Framework.Utils.FileUtils.ConvertPdfToImages(String pdfPath, String imagesPath, Int32 pageCount) 在 c:\TeamCity\buildAgent\work\8e7aa88e702dfaf7\Framework\Utils\FileUtils.cs:第 90 行在 StepDefinitions。 C 中的 General.Search.SearchTableSteps.ThenImagesAreCorrectInDownloadedDocumentFromSearchGrid(Table table):
c# - AspNetCompiler - 试图加载格式不正确的程序
我正在构建一个仅限 64 位的 Web 应用程序(AssemblyA
)并引用我构建的另一个应用程序,它也是仅限 64 位(AssemblyB
)。
当我在 中添加AssemblyB
为引用时AssemblyA
,我在 Visual Studio 中收到以下编译错误:
ASPNETCOMPILER 无法加载文件或程序集“AssemblyB”或其依赖项之一。试图加载格式不正确的程序。
我的应用程序的两个平台目标设置都设置为x64
,目标框架设置都是.Net Framework 4.6
和Prefer 32bit is unchecked
。
我尝试引用 in 的每个依赖引用AssemblyB
,AssemblyA
确保所有依赖引用的版本相同。
我用过这个问题:如何确定 .NET 程序集是为 x86 还是 x64 构建的?确认所有引用的程序集都是MSIL
或AMD64
。
我使用了启用aspnet_compiler.exe
该选项的命令行工具errorstack
并获得了以下堆栈跟踪:
[BadImageFormatException]:无法加载文件或程序集“AssemblyB”或其依赖项之一。试图加载格式不正确的程序。
在 System.Reflection.RuntimeAssembly._nLoad(AssemblyName 文件名,字符串 codeBase,证据 assemblySecurity,RuntimeAssembly locationHint,StackCrawlMark 和 stackMark,IntPtr pPrivHostBinder,布尔 throwOnFileNotFound,布尔 forIntrospection,布尔suppressSecurityChecks)
在 System.Reflection.RuntimeAssembly.nLoad(AssemblyName 文件名,字符串代码库,证据 assemblySecurity,RuntimeAssembly locationHint,StackCrawlMark& s tackMark,IntPtr pPrivHostBinder,布尔 throwOnFileNotFound,布尔 forIntros pction,布尔suppressSecurityChecks)
在 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef,证据 assemblySecurity,RuntimeAssembly reqAssembly,StackCrawlMark &stackMark,IntPtr pPrivHostBinder,布尔 throwOnFileNotFound,布尔 forIntrospection,布尔suppressSecurityChecks)
在 System.Reflection.RuntimeAssembly.InternalLoad(字符串 assemblyString,证据 assemblySecurity,StackCrawlMark &stackMark,IntPtr pPrivHostBinder,Boolean forIntrospection)
在 System.Reflection.RuntimeAssembly.InternalLoad(字符串 assemblyString,证据 assemblySecurity,StackCrawlMark &stackMark,Boolean for Introspection)
在 System.Reflection.Assembly.Load(字符串 assemblyString)
在 System.Web.Configuration.CompilationSection.LoadAssemblyHelper(字符串 assemblyName,布尔星指令)
[ConfigurationErrorsException]:无法加载文件或程序集“AssemblyB”或其依赖项之一。试图加载格式不正确的程序。
在 System.Web.Configuration.CompilationSection.LoadAssemblyHelper(字符串 assemblyName,布尔星指令)
在 System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomain BinDirectory()
在 System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai)
在 System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)
在 System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies()
在 System.Web.Compilation.BuildManager.CallPreStartInitMethods(字符串 preStart tInitListPath,布尔值& isRefAssemblyLoaded)
在 System.Web.Compilation.BuildManager.ExecutePreAppStart()
在 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager、IApplicationHost appHost、IConfigMapPathFactory configMapPathFactory、HostingEnvironmentParameters hostingParameters、PolicyLevel policyLevel、异常 appDomainCreationException)
我查看了以下相关问题,但没有人回答这个问题。大多数与 IIS 配置有关,情况并非如此,因为这是编译错误,或者有解决方案将项目设置为允许 32 位平台目标,这不适合我的情况:
- “尝试加载格式不正确的程序”即使平台相同(使用 IIS 配置不好)
- 无法加载文件或程序集...尝试加载格式不正确的程序(System.BadImageFormatException)(运行时错误不好)
- System.BadImageFormatException 尝试加载格式不正确的程序(使用 32 位解决方案不好)
- 无法加载文件或程序集“xxx”或其依赖项之一。尝试加载格式不正确的程序(不适合使用 32 位解决方案)
我不知道从这里去哪里。重申一下,我不想将我的任何一个项目设置为 32 位,这不是 IIS 配置的问题,因为这是一个编译错误。
我还在几台不同的机器和全新的应用程序上进行了尝试,结果相同。
如何修复此编译错误?
c# - Oracle ODP.Net Oracle.DataAccess.dll 错误
我在 windows 7 64 位机器上安装了 Oracle 11.2.0.1 64 位版本。当我尝试通过 C# 控制台应用程序(VS2012)连接 Oracle DB 时,当我选择平台目标作为 AnyCPU/X64 时,它工作正常。如果我选择 X86 它会显示以下错误
无法加载文件或程序集 'Oracle.DataAccess, Version=2.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342' 或其依赖项之一。试图加载格式不正确的程序。
这是正确的,我已经安装了 X64 版本的 dll,当我尝试在 32 位模式下运行时它显示错误。
当我将我的数据层与我的业务层集成时,如果我选择 AnyCPU/X64 模式,它会显示错误。我该如何解决这个错误。
PS - 我只安装了oracle home。还没有安装客户端版本。
manifest - bin 中的非汇编 DLL
我们正在尝试使用 WebSupergoo 的 ABCpdf .NET v10。如果我们使用他们的安装程序,效果会很好。但是 v8 已经安装在服务器上,其他项目正在使用它,所以我们现在不想运行安装程序。(希望在不久的将来我们可以在不同的机器上测试安装和/或升级这些项目,但这个项目不能等待。)
WebSupergoo ( http://www.websupergoo.com/helppdfnet/default.htm?page=source%2F3-concepts%2F6-installation.htm ) 的“手动安装”说明指示放置 3 个主要 DLL (ABCpdf.dll 、ABCpdf10-32.dll 和 ABCpdf10-64.dll) 进入 bin 文件夹并添加对 ABCpdf.dll 的引用。
我们真的不希望它们在 bin 文件夹中,因为源代码管理设置为不从该文件夹添加任何内容。但是,为了让它工作(现在),它们被放置在该文件夹中。然后,当我尝试运行该项目时,出现以下错误(为安全起见更改了文件夹名称):
我们首选的方法是将它们放在“lib”文件夹中(目前在解决方案级别)。因此,我将 3 个 DLL 放在该文件夹中并添加了引用。该项目编译并运行,但是当我们尝试创建 PDF 时,我们收到以下错误:
WebSupergoo 支持说:“ABCpdf10-32.dll 不是程序集,所以它当然不包含程序集清单”。
我尝试将 ABCpdf10-32.dll 从 bin 文件夹中取出,但 ABCpdf10-64.dll 出现相同的错误。
我尝试在引用 False 时设置“复制本地”。没变。
复制本地:https ://msdn.microsoft.com/en-us/library/t1zz5y8c(v=vs.90).aspx
我尝试使用“探测”技术。我在项目的 web.config 和 app.config 文件中都尝试了它(解决方案似乎没有一个)。我还尝试将 lib 文件夹移动到项目本身中。没变。
探测:https ://msdn.microsoft.com/en-us/library/823z9h8w(v=vs.110).aspx
我不确定此时还可以尝试什么。任何帮助将不胜感激!
c# - Service Fabric 无法加载程序集 c#
“无法加载文件或程序集‘Microsoft.ServiceFabric.Data’或其依赖项之一。试图加载格式不正确的程序。”
异常详细信息:System.BadImageFormatException:无法加载文件或程序集“Microsoft.ServiceFabric.Data”或其依赖项之一。试图加载格式不正确的程序。
我将 Service Fabric 的 nuget 添加到我的 web api 中,这是一个例外。我试图编译 x64 / AnyCPU / x86
有什么帮助吗?
c# - 当引用服务项目时,C# 控制器单元测试失败并出现错误的图像格式异常
当引用服务项目时,C# 控制器单元测试失败并出现以下错误的图像格式异常。服务和单元测试项目都被构建为AnyCpu
.
有关如何解决此异常的任何建议?
测试方法 UnitTests.Controller.SomeControllerTests.SampleTest 抛出异常:
System.BadImageFormatException:无法加载文件或程序集 SampleService、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null' 或其依赖项之一。试图加载格式不正确的程序。