.net 错误: 未能完成程序集的安装(hr = 0x8007000b)。探测终止。 解决办法
系统升级后,.net项目报如下错误,“/MES”应用程序中的服务器错误。未能加载文件或程序集“DevControl”或它的某一个依赖项。试图加载格式不正确的程序。说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.BadImageFormatException: 未能加载文件或程序集“DevControl”或它的某一个依赖项。试图加载格式不正确的程序。源错误:执行当前 Web 请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。程序集加载跟踪: 下列信息有助于确定程序集“DevControl”未能加载的原因。=== 预绑定状态信息 ===日志: DisplayName = DevControl(Partial)警告: 为程序集提供了部分绑定信息:警告: 程序集名称: DevControl | 域 ID: 2警告: 当仅提供程序集显示名称的一部分时,将发生部分绑定。警告: 这可能导致联编程序加载错误的程序集。警告: 建议为程序集提供完全指定的文字标识,警告: 并由简单名称、版本、区域性和公钥标记组成。警告: 有关此问题的详细信息和常见解决方案,请参见白皮书 http://go.microsoft.com/fwlink/?LinkId=109270。日志: Appbase = file:///C:/MES/C.Web.MES/日志: 初始 PrivatePath = C:\MES\C.Web.MES\bin调用程序集: (Unknown)。===日志: 此绑定从 default 加载上下文开始。日志: 正在使用应用程序配置文件: C:\MES\C.Web.MES\web.config日志: 使用主机配置文件: \\ap.corning.com\QLS-UD$\UD3\Xyz\My Documents\IISExpress\config\aspnet.config日志: 使用 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config 的计算机配置文件。日志: 此时没有为引用应用策略(私有、自定义、分部或基于位置的程序集绑定)。日志: 尝试下载新的 URL file:///C:/Users/Xyz/AppData/Local/Temp/Temporary ASP.NET Files/MES/f182a1aa/494ff571/DevControl.DLL。日志: 尝试下载新的 URL file:///C:/Users/Xyz/AppData/Local/Temp/Temporary ASP.NET Files/MES/f182a1aa/494ff571/DevControl/DevControl.DLL。日志: 尝试下载新的 URL file:///C:/MES/C.Web.MES/bin/DevControl.DLL。错误: 未能完成程序集的安装(hr = 0x8007000b)。探测终止。堆栈跟踪:[BadImageFormatException: 未能加载文件或程序集“DevControl”或它的某一个依赖项。试图加载格式不正确的程序。]System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +225System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection) +110System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +22System.Reflection.Assembly.Load(String assemblyString) +34System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +48[ConfigurationErrorsException: 未能加载文件或程序集“DevControl”或它的某一个依赖项。试图加载格式不正确的程序。]System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +767System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +256System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +58System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +281System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies() +69System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath, Boolean& isRefAssemblyLoaded) +137System.Web.Compilation.BuildManager.ExecutePreAppStart() +172System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +848[HttpException (0x80004005): 未能加载文件或程序集“DevControl”或它的某一个依赖项。试图加载格式不正确的程序。]System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +532System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +111System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +714版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.7.3282.0网络上各种方法试过后,无果,最后在高人指点下将其web中位置改为X86(原来为:默认)试了下,debug能完美运行,并且后续将位数改为默认也能正常运行了……
以上为仅为小子的解决办法,不保证对你遇到此问题时有用,故仅供参考。其他人遇到此类问题的解决办法:https://www.cnblogs.com/wintertone/p/12206628.html希望对遇到此类问题的有所帮助。