目前我有System.Web.Mvc程序集的源代码。构建很好。但是在运行时它会抛出,未能加载文件或程序集“System.Web.mvc”或它的某个依赖项。未能验证强名称签名。该程序集可能已被篡改,或者它被延迟签名但未使用正确的私钥完全签名。(HRESULT异常:0x80131045)我怎么调试呢?我用的是windows7。
c90pui9n1#
您似乎正在尝试调试ASP.NET MVC源代码,并且生成了自己版本的System.Web.Mvc程序集。此方法的问题是您无法使用正式密钥对其进行签名。这意味着您可能正在使用并且依赖于System.Web.Mvc的任何第三方组件也应该根据自己的版本重新编译。以Razor为例。它也依赖于System.Web。Mvc.你也重新编译了吗?就我个人而言,我发现构建自己的System.Web.Mvc版本是非常困难的。实际上,我通过使用公共可用的PDB符号来调试源代码。所以我建议你不要编译自己的版本,而是使用官方版本。请看这篇文章:https://stackoverflow.com/a/13610108/29407
w8rqjzmb2#
刚刚解决了同样的问题:
我还从AssemblyInfo.cs的InternalsVisibleTo属性中删除了强名称细节,但只有当您还想构建测试项目时才需要它。之后,我将System.Web.Mvc、System.Web.WebPage.Deployment和System.Web.WebPages项目作为现有项目添加到我的新解决方案中,现在我可以调试它们的源代码了。
w8rqjzmb3#
我以前遇到过这种情况,删除对System.Web.mvc的引用并重新添加它是有效的。我还做了一个清洁和重建工作。希望能有所帮助
9lowa7mx4#
在AssemblyInfo.cs文件中,将有一行[assembly:System.Reflection.AssemblyDelaySign(true)],如果将其删除,则GAC问题将得到解决
lqfhib0f5#
我试着用Visual Studio性能分析器分析我的应用程序,但第三方程序集出现了这个错误。我做了一个干净的重新构建的解决方案,它工作了。
px9o7tmv6#
将以下行添加到配置文件中:〈托管环境影子复制二进制程序集=“false”/〉
6条答案
按热度按时间c90pui9n1#
您似乎正在尝试调试ASP.NET MVC源代码,并且生成了自己版本的System.Web.Mvc程序集。此方法的问题是您无法使用正式密钥对其进行签名。这意味着您可能正在使用并且依赖于System.Web.Mvc的任何第三方组件也应该根据自己的版本重新编译。以Razor为例。它也依赖于System.Web。Mvc.你也重新编译了吗?
就我个人而言,我发现构建自己的System.Web.Mvc版本是非常困难的。实际上,我通过使用公共可用的PDB符号来调试源代码。所以我建议你不要编译自己的版本,而是使用官方版本。请看这篇文章:https://stackoverflow.com/a/13610108/29407
w8rqjzmb2#
刚刚解决了同样的问题:
我还从AssemblyInfo.cs的InternalsVisibleTo属性中删除了强名称细节,但只有当您还想构建测试项目时才需要它。
之后,我将System.Web.Mvc、System.Web.WebPage.Deployment和System.Web.WebPages项目作为现有项目添加到我的新解决方案中,现在我可以调试它们的源代码了。
w8rqjzmb3#
我以前遇到过这种情况,删除对System.Web.mvc的引用并重新添加它是有效的。
我还做了一个清洁和重建工作。
希望能有所帮助
9lowa7mx4#
在AssemblyInfo.cs文件中,将有一行[assembly:System.Reflection.AssemblyDelaySign(true)],如果将其删除,则GAC问题将得到解决
lqfhib0f5#
我试着用Visual Studio性能分析器分析我的应用程序,但第三方程序集出现了这个错误。我做了一个干净的重新构建的解决方案,它工作了。
px9o7tmv6#
将以下行添加到配置文件中:〈托管环境影子复制二进制程序集=“false”/〉