首页 > 解决方案 > 修改EDMX后VS2010崩溃然后重启

问题描述

我使用 Entity Framework 5.1 创建了一个 RESTful 应用程序。它已经稳定了很长时间。我最近在我的 SQL 2005 数据库中添加了一个表,并尝试将它添加到项目的 edmx 文件中。该表显示在设计器中,但是当我保存 edmx 时,它会导致 VS2010 关闭然后重新启动。重新启动时,表在设计器中,但 Model.tt 文件夹中没有代码模板,并且在重建项目时出现大量错误。

当 VS 重新启动时,devenv.exe 会抛出系统应用程序异常。前几行是:

应用程序:devenv.exe 框架版本:v4.0.30319 描述:进程因未处理的异常而终止。异常信息:Microsoft.VisualStudio.TextTemplating489EEB6F04CC6591BD374BC5954BE8E5.GeneratedTextTransformation+EntityFrameworkTemplateFileManager+VsEntityFrameworkTemplateFileManager.ProjectSync(EnvDTE.ProjectItem, System.Collections.Generic.IEnumerable`1) 的 EnvDTE.ProjectItem.get_FileNames(Int16) 的 System.AccessViolationException

删除添加的表并不能解决问题,只有从前一天晚上的备份中恢复项目才能让我进行干净的编译。

其他的似乎都没有错。任何提示或解决方案将不胜感激。

标签: visual-studio-2010edmx

解决方案


我对类似的问题进行了广泛的谷歌搜索,除了我上面评论中提到的问题,似乎没有一个匹配。自从上次成功添加表格以来,我已经安装了 VS2010 的 GitHub 扩展。抓住稻草,删除了认为可能导致问题的扩展,但是,唉,同样的行为在删除后仍然存在。

我创建了一个新的、精简的项目,并尝试将一个表添加到 edmx,结果完全相同,VS2010 重新启动,在 Windows 应用程序日志中出现相同的错误。VS2010重启时,.cs生成的文件在项目下的解决方案资源管理器中列出,但是灰显,即不包含在项目中。如果我手动包含它并编译项目,一切顺利。但是 .cs 文件在项目项目列表中自由浮动,而不是在 .tt 文件夹中。

我想我可以继续,但我对 VS2010 安装的完整性的信心动摇了。

无奈之下,我决定对VS2010 Premium进行维护维修。那花了大约两个小时。然而, 。解决了这个问题。我现在可以添加表格并保存 emdx 并让 .cs 类显示在 .tt 文件夹下。一切都编译得很好。看来我又回来做生意了。


推荐阅读