无法加载文件或程序集' ActiproSoftware.Shared.Net20'或其中一个依赖项

时间:2014-12-18 13:51:47

标签: c#

大家好我需要帮助我在运行应用程序时遇到此错误

"无法加载文件或程序集' 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

2 个答案:

答案 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: