无法打开DBML文件-.Net数据提供程序丢失?

时间:2018-07-24 13:49:40

标签: c# sql-server linq-to-sql

我已在新计算机上安装了Visual Studio 2017,并且我正在尝试使用LINQ的C#项目。以前,我曾在装有SQL Server 2012的Windows 7计算机上使用Visual Studio 2017.现在我需要切换到Windows 10和SQL Server 2017。

我已经安装了Windows 10,SQL Server 2017和Visual Studio 2017 Professional。在Visual Studio的安装程序中,我激活了“ LINQ to SQL工具”以及“ SQL工具”。

项目已加载,我实际上可以编译并运行所有内容。

但是当我尝试在IDE中打开DBML文件时,我收到一些错误消息:

  

“ Der Extenderprovider konnte keinen Extenderfürdieses Objekt   zurückgeben。”(翻译:”扩展程序提供程序无法返回   此对象的扩展程序”

以及

  

“ Der angeforderte .Net Framework-Datenprovider kann nicht gefunden   沃登。 erggf。 nicht installiert”(翻译:”所请求的.Net   找不到框架数据提供程序。可能不是   已安装”

其他问题(可能是同源的):

当我尝试添加数据源并选择“ Microsoft SQL Server”时,收到消息:

  

“ Das Verbindungseigenschaftenobjekt muss vom Typ   SqlConnectionProperties或OleDBSqlConnectionProperties系列。”   (翻译:   “连接属性对象必须是类型   SqlConnectionProperties或OleDBSqlConnectionProperties“

在下拉框中,我可以选择“ .NET Framework-DatenanbieterfürSQL” 和“ .NET Framework-Datenanbieter for OLE DB” 两者都不起作用。

enter image description here

这是我的设置的屏幕截图

enter image description here

1 个答案:

答案 0 :(得分:1)

原来,我不得不更改machine.config file(%windir%\ Microsoft.NET \ Framework64 [version] \ config \ machine.config)并删除多余的行<DbProviderFactories/>。这样既解决了两个问题,又解决了我无法在SQL Management Studio中使用View-Designer的第三个问题。

Machine.config extra line