4

我一直无法让 JetEntityFrameworkProvider 工作。想要连接到 MS2016 访问数据库的几个问题/评论(运行 VS2017,JetEntityFrameworkProvider 的 6.4.1 nuGet)。

  • 我观看了视频,但是当我查看最新 zip 中的文件时,没有 Key.snk 文件。我添加了自己的,但不确定是否需要更改其他内容?

  • 对于 JetDdexProvider,添加了 GenerateAssemblyInfo 的新资源名称并将值设置为 false,这样我就可以将版本设置为与我提取的 nuGet 包(6.1.4)中的版本相同,否则在构建 VS 时会在 AssemblyInfo 中添加 2 行。 cs 然后抱怨他们已经存在:

[程序集:AssemblyVersion("6.1.4.0")] [程序集:AssemblyFileVersion("6.1.4.0")]

  • 预构建命令没有找到 vsvars32.bat 所以我把它改成: call "C:\Program Files (x86)\Common7\Tools\vsvars32.bat" gacutil /u JetEntityFrameworkProvider.dll

  • 我正在运行 VS2017。我将 install.config 更新为:SET REGROOT=SOFTWARE\Microsoft\VisualStudio\14.0_Config。我在注册表中看到键 HKEY_USERS\S-1-5-21-3512878864-1034292029-1113751564-1001\Software\Microsoft\VisualStudio\14.0_Config\DataProviders{52C271ED-FAE1-444E-8C3A-6DFEC4C3A974},但 PlatformVersion 是 2 . 这应该是 6.4.1 (?)

当我尝试首先为数据库创建我的 edmx 文件时,我只列出了 SQL 服务器数据提供程序,因此试图找出我出错的地方。

谢谢瞌睡虫

4

1 回答 1

0

问题可能是 DDEX 注册(您尝试在注册表上进行的注册)或提供程序的版本。关于 DDEX 可能最简单的方法是在当前用户中设置注册表项,这样您就可以确定您选择了正确的用户。
VS2017是14版还是15版?这可能是另一个问题。我从未尝试为 VS2017 注册提供程序。
另一件事是,在尝试运行 DDEX 提供程序之前,您需要在项目中安装提供程序。通常我在 NuGet 上使用那个。我安装提供程序,编译项目,退出并进入 VS,然后在提供程序列表中看到 DDEX 提供程序。

于 2018-02-20T10:16:35.663 回答