Visual Studio 2015 / .NET Framework 4.5
EntityFramework v6.1.3
EntityFramework6.Npgsql v3.1.0
Npgsql 3.2.2
我继承了一个包含EDMX EF6模型的项目,我无法在Visual Studio中打开(尽管代码运行正常)可能(??)因为我收到以下错误: -
"错误175:具有不变名称' Npgsql'的ADO.NET提供程序是 要么未在机器或应用程序配置文件中注册,要么 无法加载。有关详细信息,请参阅内部异常。"
相关的app.config设置如下所示: -
<entityFramework>
<providers>
<provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, EntityFramework6.Npgsql" />
</providers>
<defaultConnectionFactory type="Npgsql.NpgsqlFactory, Npgsql" />
</entityFramework>
<system.data>
<DbProviderFactories>
<remove invariant="Npgsql"/>
<add name="Npgsql Data Provider" invariant="Npgsql" description=".Net Data Provider for PostgreSQL" type="Npgsql.NpgsqlFactory, Npgsql, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" support="FF"/>
</DbProviderFactories>
</system.data>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Npgsql" publicKeyToken="5d8b90d52f46fda7" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.2.2.0" newVersion="3.2.2.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
EDMX的Schema系列如下所示: -
<Schema Namespace="MyAppMOdel.Store" Alias="Self" Provider="Npgsql" ProviderManifestToken="4.0" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns="http://schemas.microsoft.com/ado/2009/11/edm/ssdl">
我对ProviderManifestToken =&#34; 4.0&#34;有点警惕设置,因为此项目以前使用SQL Server Compact 4.这里的正确值是什么?
关于什么错误的任何想法?
THX!
答案 0 :(得分:0)
看起来有人手工做了一些改变: - (
经过大量的讨论(在使用Data Connections和EDM向导https://github.com/npgsql/npgsql/issues/1445时遇到问题)我可以看到ProviderManifestToken应该是&#34; 9.6.2&#34 ;;随着这一变化使我的EDMX我现在能够使用Visual Studio 2015打开它。
EDMX文件中的行现在看起来像
pdfExport