修改 EDMX 后 VS2010 崩溃然后重启

VS2010 crashing then restarting after modifying EDMX

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

VS重启时,devenv.exe抛出系统应用异常。前几行是:

Application: devenv.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.AccessViolationException at EnvDTE.ProjectItem.get_FileNames(Int16) at Microsoft.VisualStudio.TextTemplating489EEB6F04CC6591BD374BC5954BE8E5.GeneratedTextTransformation+EntityFrameworkTemplateFileManager+VsEntityFrameworkTemplateFileManager.ProjectSync(EnvDTE.ProjectItem, System.Collections.Generic.IEnumerable`1)

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

其他好像没什么问题。任何提示或解决方案将不胜感激。

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

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

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

无奈之下,我决定对VS2010 Premium进行维护修复。那花了大约两个小时。但是,.解决了问题。我现在可以添加 tables 并保存 emdx,并让 .cs class 显示在 .tt 文件夹下。一切都很好。看来我又回来了。