大家好我需要帮助我在运行应用程序时遇到此错误
"无法加载文件或程序集' ActiproSoftware.Shared.Net20'或其中一个依赖项。尝试加载格式不正确的程序。 "
描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.BadImageFormatException:无法加载文件或程序集' ActiproSoftware.Shared.Net20'或其中一个依赖项。试图加载格式不正确的程序。
来源错误:
在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。
装配加载跟踪:以下信息有助于确定装配' ActiproSoftware.Shared.Net20'无法加载。
警告:装配绑定日志记录已关闭。 要启用程序集绑定失败日志记录,请将注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog](DWORD)设置为1。 注意:程序集绑定失败日志记录会导致一些性能损失。 要关闭此功能,请删除注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog]。
堆栈追踪:
[BadImageFormatException:无法加载文件或程序集' ActiproSoftware.Shared.Net20'或其中一个依赖项。试图加载格式不正确的程序。] System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName,String codeBase,Evidence assemblySecurity,RuntimeAssembly locationHint,StackCrawlMark& stackMark,IntPtr pPrivHostBinder,Boolean throwOnFileNotFound,Boolean forIntrospection,Boolean suppressSecurityChecks)+0 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef,Evidence assemblySecurity,RuntimeAssembly reqAssembly,StackCrawlMark& stackMark,IntPtr pPrivHostBinder,Boolean throwOnFileNotFound,Boolean forIntrospection,Boolean suppressSecurityChecks)+210 System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString,Evidence assemblySecurity,StackCrawlMark& stackMark,IntPtr pPrivHostBinder,Boolean forIntrospection)+242 System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString,Evidence assemblySecurity,StackCrawlMark& stackMark,Boolean forIntrospection)+17 System.Reflection.Assembly.Load(String assemblyString)+35 System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName,Boolean starDirective)+122
[ConfigurationErrorsException:无法加载文件或程序集' ActiproSoftware.Shared.Net20'或其中一个依赖项。试图加载格式不正确的程序。] System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName,Boolean starDirective)+12857578 System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()+503 System.Web.Configuration.AssemblyInfo.get_AssemblyInternal()+ 142 System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)+334 System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath,Boolean& isRefAssemblyLoaded)+148 System.Web.Compilation.BuildManager.ExecutePreAppStart()+ 172 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager,IApplicationHost appHost,IConfigMapPathFactory configMapPathFactory,HostingEnvironmentParameters hostingParameters,PolicyLevel policyLevel,Exception appDomainCreationException)+1151
[HttpException(0x80004005):无法加载文件或程序集' ActiproSoftware.Shared.Net20'或其中一个依赖项。试图加载格式不正确的程序。] System.Web.HttpRuntime.FirstRequestInit(HttpContext context)+12979668 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context)+159 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr,HttpContext context)+12819261
答案 0 :(得分:0)
错误图像格式异常通常意味着您尝试将x64程序集/本机DLL加载到32位进程中,反之亦然,将32位程序集加载到x64进程中。
首先检查任务管理器,如果您的应用程序在32位或在项目设置下运行,如果您针对特定指令集(x86或x64)进行编译,或者如果您有"更喜欢32位"检查项目的同一属性页面。然后确定您的程序集的类型' ActiproSoftware.Shared.Net20'是(使用反射器)。两者都应该是任何cpu或相同类型的x86或x64。如果没有区别,它仍然可能是某个natice库或该程序集的依赖项导致麻烦。因此,检查' ActiproSoftware.Shared.Net20'的参考文献。使用反射器,如果你有正确的构建。
答案 1 :(得分:0)
我的答案如下 进入IIS 7管理器控制台,找到运行应用程序的应用程序池,右键单击它,转到“高级设置”,然后将“启用32位应用程序”设置更改为true: