我今天早上通过设计器将一个表从Linq删除到了SQL DBML文件。在进行了一些更改后,我尝试将表添加回DBML设计器表面,Visual Studio不执行任何操作。当我尝试从服务器资源管理器中的列表中拖动表时,我没有得到指示它正在尝试拖放操作的箭头。我试图将几个其他表从服务器资源管理器拖到设计器无济于事。我没有收到错误。
我还尝试更新驻留在同一解决方案中的另一个项目中的DataSet,并得到相同的结果。 Visual Studio 2010不允许我将表从服务器资源管理器拖到我的设计器界面以获取XSD或DBML文件。
到目前为止,我已尝试过以下内容
1) Close all windows in VS
2) Restart VS
3) Restart PC
4) Revert DBML to earlier versions
有什么建议吗?这在星期五工作正常,我没有改变框架中的任何重要内容。
刚刚尝试了以下两件事:删除用户选项文件并重新启动VS并使用DataSet创建新项目并尝试从服务器资源管理器中拖动表。都失败了。
答案 0 :(得分:4)
好的,我终于解决了这个问题。
问题似乎与Visual Database Tools DLL有关。
此DLL文件由VS 2010安装程序安装,但在SQL Server 2012安装期间,它将升级到SQL 2012版本的工具。此后,卸载并重新安装SQL或VS将不会删除此较新的DLL,以便允许安装旧版本,因此留下这个恼人的问题。
我如何修复它是因为我设置了一个干净的虚拟机并安装了VS 2010,然后从我的虚拟机中取出了这个原始的DLL并覆盖了我的直播机器上的DLL。就这么简单。
我会假设删除此DLL文件,然后执行VS 2010修复或卸载/重新安装也可以解决问题。
DLL的目录和文件名(在X64机器上)是:C:\ Program Files(x86)\ Common Files \ microsoft shared \ Visual Database Tools \ dsref80.dll
我希望这有助于拯救别人几个小时的痛苦!
答案 1 :(得分:0)
我有同样的问题。我刚刚重命名了C:\ Program Files(x86)\ Common Files \ microsoft shared \ Visual Database Tools \ dsref80.dll,然后运行了VS2010修复。这也解决了这个问题。