错误:程序集绑定日志记录被关闭,及解决办法

错误:程序集绑定日志记录被关闭。

解决方法:

IIS中的应用程序服务池中"启动32位应用程序"设置为true

 

错误描述:

部署到IIS中的应用程序出现如下错误(Win7 x64 .net 4.0)

"/AppShip"应用程序中的服务器错误。

未能加载文件或程序集"AppShip.Web"或它的某一个依赖项。试图加载格式不正确的程序。

说明执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息System.BadImageFormatException: 未能加载文件或程序集"AppShip.Web"或它的某一个依赖项。试图加载格式不正确的程序。

源错误: 

执行当前 Web 请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。


程序集加载跟踪: 下列信息有助于确定程序集"AppShip.Web"未能加载的原因。

 

警告: 程序集绑定日志记录被关闭。

要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1

注意: 会有一些与程序集绑定失败日志记录关联的性能损失。

要关闭此功能,请移除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]


堆栈跟踪: 

 

[BadImageFormatException: 未能加载文件或程序集"AppShip.Web"或它的某一个依赖项。试图加载格式不正确的程序。]

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: 未能加载文件或程序集"AppShip.Web"或它的某一个依赖项。试图加载格式不正确的程序。]

System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +12845354

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): 未能加载文件或程序集"AppShip.Web"或它的某一个依赖项。试图加载格式不正确的程序。]

System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +12966756

System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +159

System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +12806561

 

 

转载于:https://www.cnblogs.com/shangwater/p/5449470.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
程序绑定重定向是.NET Framework中的一种机制,它允许一个程序在运行时使用一个不同版本的程序,而不需要修改程序代码。这通常用于解决程序在运行时无法找到所需程序的问题,例如当程序依赖的程序版本不匹配时。 要使用程序绑定重定向,可以在程序的配置文件中添加一个`<assemblyBinding>`元素,其中包含一个或多个`<dependentAssembly>`元素。每个`<dependentAssembly>`元素描述一个程序的名称、版本和公钥令牌,以及该程序应该被重定向到的新版本的详细信息。 例如,假设你的程序依赖于一个名为`MyAssembly`的程序,版本号为1.0.0.0。如果你想要在运行时使用版本号为2.0.0.0的程序,你可以在配置文件中添加以下内容: ```xml <configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="MyAssembly" publicKeyToken="123456789abcdef" culture="neutral" /> <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration> ``` 这个配置文件中,`<dependentAssembly>`元素指定了要重定向的程序的名称、公钥令牌和文化特性。`<bindingRedirect>`元素指定了旧版本和新版本之间的映射关系。 注意,如果你要使用程序绑定重定向,你必须将新版本的程序复制到你的应用程序的目录中,或者将它们安装到全局程序缓存中。否则,程序将无法找到新版本的程序,重定向将无效。 总之,程序绑定重定向是一个非常有用的机制,可以帮助你解决程序在运行时无法找到所需程序的问题,但在使用时需要注意一些细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值