我已将我的 asp.net Web 应用程序从 Visual Studio 2008 迁移到 Visual Studio 2012。除了一种情况外,它可以正常工作。
他们在某些地方捕获异常并将其抛出,该异常在 Application_Error 事件中的 Global.asax 中捕获。此错误显示在自定义错误页面中。它在 VS2008 中工作,但在 VS 2012 中,当我们调试时它显示以下错误。
Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.dll > 中发生类型为“Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.ExceptionHandlingExcep> tion”的异常,但未在用户代码中处理
附加信息:无法加载文件或程序集 >'Microsoft.Practices.Unity,Version=2.0.414.0,Culture=neutral,>PublicKeyToken=31bf3856ad364e35'或其依赖项之一。定位的 >assembly 的清单定义与程序集引用不匹配。>(来自 HRESULT 的异常:0x80131040)
如果有这个异常的处理程序,程序可以安全地继续。
在 ExceptionPolicy.HandleException(error, "OIMPolicy") 语句中引发了上述错误。
protected void Application_Error(Object sender, EventArgs e)
{
异常错误 = Server.GetLastError();
if (error != null)
{
Server.ClearError();
if (error.InnerException != null)
error = error.InnerException;
ExceptionPolicy.HandleException(error, "Policy");
}
}
上面的代码适用于 VS 2008 上的旧企业库。但它不适用于 VS2012。
任何人都可以建议在 VS 2012 上使用什么企业库或上述问题的修复方法。