打开解决方案时Visual Studio崩溃:拒绝本机映像,因为依赖项不是本机映像

时间:2010-10-11 19:33:00

标签: .net asp.net visual-studio-2008

我正在使用包含ASP.NET网站和类库项目的解决方案。多年来它一直在努力工作。在过去的几个月里,我将它从VS 2005和.NET 2.0升级到VS 2008和.NET 3.5。

在升级过程中,我没有发现任何问题,并且在生产中运行良好。

在推动生产并将其单独留下之后,我终于回去做了一些更改。但是,当我尝试在VS 2008中打开它时,VS崩溃了。 VS打开并且行为就像一切正常,但是,在加载时,VS窗口就会消失。

应用程序事件日志显示:

  

.NET Runtime版本2.0.50727.3607 -   致命执行引擎错误   (7A036050)(80131506)

我做了一些研究,指出我可能已经破坏了.NET安装。这对我没有任何意义,因为我的所有其他VS 2008应用程序(其他6个)在VS 2008中打开并运行得很好。但是,因为我无法想出另一个解决方案,所以我决定安装最新的.NET更新2.x和3.x,found here

安装更新后,它似乎工作正常。

几周后,我在这里遇到了同样的问题。我尝试运行相同的.NET更新,看看是否会再次解决问题,但“没有骰子”。

我将解决问题的方法带到了下一步,并针对VS运行WinDbg,同时打开解决方案。这是我得到的:

  

CLR:(C:\ Windows \组件\ GAC_MSIL \ System.Web.Extensions程序\ 3.5.0.0__31bf3856ad364e35 \ System.Web.Extensions.dll)   因为拒绝原生图像   依赖   C:\ Windows \组件\ GAC_MSIL \ System.Core程序\ 3.5.0.0__b77a5c561934e089 \ System.Core.dll   不是原生的

我认为这是我的问题,但我无法弄清楚原因。我的其他应用程序正在使用System.Web.Extensions 3.5而没有问题。

任何人对我应该从哪里开始有任何建议吗?

感谢。

2 个答案:

答案 0 :(得分:4)

如果上述两条评论无法解决您的问题,您可以执行以下操作。在使用Silverlight时我也有类似的问题,我已经用这种方式解决了它。

在打开解决方案之前,请直接转到bin / debug并删除其中的所有内容。 (我还建议删除C:\ Windows \ Microsoft.NET \ Framework \\ Temporary ASP.NET Files中可用的ASP.Net临时文件。

清理theese目录后,尝试重新打开解决方案。

答案 1 :(得分:2)

感谢Subhash Dike的建议(删除bin文件夹中的所有文件),我偶然发现了这个问题。 bin文件夹包含System.Web.Extensions.dll的副本。我相信这个较旧的DLL覆盖了web.config对GAC中DLL的引用并破坏了它。

因此,删除System.Web.Extensions.dll后,我现在可以在Visual Studio 2008中打开解决方案并构建它没有问题。