Oracle Developer Tools for Visual Studio 2019 无法正确安装

在 VS 2019 中,ODT 使用扩展安装,而不是像以前的版本那样作为安装文件.所以,从 VS 2017 升级的 EF 6 使用的 MVC 项目 edmx 文件在扩展安装后不显示数据库图表,空白黑页,编辑 xml"选项等.

In VS 2019, ODT install with an extension, not as a setup file like previous version. So, from VS 2017 upgraded EF 6 used MVC project edmx file doesn't show database diagram after extension installation, blank black page, "edit xml" option etc. that's all.

如果您意识到错误列表中的错误!

The ADO.NET provider with invariant name 'Oracle.ManagedDataAccess.Client' is either not registered in the machine or application config file, or could not be loaded. See the inner exception for details

我检查了解决方案 app.config、web.config 等中的所有配置文件.一切看起来都很好,所有关于Oracle.ManagedDataAccess.Client"的标签和值都已经定义并正确!

I checked all config files in solution app.config, web.config, etc. everything looks good, all tags and values about "Oracle.ManagedDataAccess.Client" already defined and correct!

推荐答案

几周后,我决定只为这个项目使用回 VS 2017,再次通过安装文件安装了 VS 2017 和 ODT for VS 2017.然后我找到了一个关于这个问题的网站.

After some weeks, I decided to use back VS 2017 only for this project, installed VS 2017 again and ODT for VS 2017 by setup file. Then I found a web site about this problem.

它说;

  • 关闭所有 VS 实例
  • 查找 VS devev.exe.config 文件
  • 用文本编辑器打开
  • 将所有Oracle"包含的设置从工作端复制到不工作端

就是这样!

我从 VS 2017 的配置复制到 VS 2019 devev.exe.config 文件中的内容;

What I copied into VS 2019 devenev.exe.config file from VS 2017's config;

(根据扩展文件更改dll的路径)

在 标签

in < assemblyBinding > tag

  <dependentAssembly>
    <assemblyIdentity name="Oracle.ManagedDataAccess" publicKeyToken="89b483f429c47342" culture="neutral" />
    <codeBase version="4.122.19.1" href="C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\Extensions\m3m25bey.i3v\Assemblies\DataProviders\Oracle.ManagedDataAccess.dll" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="Oracle.ManagedDataAccess.EntityFramework" publicKeyToken="89b483f429c47342" culture="neutral" />
    <codeBase version="6.122.19.1" href="C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\Extensions\m3m25bey.i3v\Assemblies\DataProviders\Oracle.ManagedDataAccess.EntityFramework.dll" />
  </dependentAssembly>    

还有

标签

in < DbProviderFactories > tag

  <remove invariant="Oracle.ManagedDataAccess.Client" />
  <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342" /> 

相关文章