【问题标题】:Can't open DBML files - .Net data provider missing?无法打开 DBML 文件 - 缺少 .Net 数据提供程序?
【发布时间】:2019-01-01 04:16:58
【问题描述】:

我在新计算机上安装了 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 Extender für dieses Objekt zurückgeben。”(翻译:“扩展程序提供程序无法返回 此对象的扩展器")

还有

"Der angeforderte .Net Framework-Datanprovider kann nicht gefunden 韦尔登呃是ggf。 nicht installiert”(翻译:“请求的.Net 找不到框架数据提供者。可能不是 已安装”

其他问题(可能同源):

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

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

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

这是我的设置截图

【问题讨论】:

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


    【解决方案1】:

    原来我必须更改 machine.config file ( %windir%\Microsoft.NET\Framework64\(version)\config\machine.config ) 并删除多余的行 @987654324 @。这解决了这两个问题以及我无法在 SQL Management Studio 中使用 View-Designer 的第三个问题。

    更新:全新安装 Visual Studio 2022 时仍会出现此问题!令人惊讶的是,微软在将近 4 年之后仍未修复此问题。

    【讨论】:

    • 我在迁移到新硬盘后遇到了同样的问题。从旧驱动器复制 machine.config 文件似乎已经为我解决了这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-10
    • 1970-01-01
    • 1970-01-01
    • 2019-06-30
    • 1970-01-01
    • 2015-12-21
    相关资源
    最近更新 更多