Pro*_*eus 7 .net c# npgsql entity-framework-6 visual-studio-2015
几个月来,我对通过删除并重新创建从数据库生成模型没有任何问题。从 git pull 后,在尝试制作相同的 process 时出现问题。在第二步(使用 DB 的连接字符串创建)之后,第三步不再继续进行,并且在 app.config 文件中没有创建与数据库的连接字符串。我尝试使用数据库凭据测试连接,并且我得到以下信息。
当我尝试从模型图中更新特定表作为替代方案时,我还得到以下信息:
System.Data.Entity.Core.EntityException:关闭提供程序连接时出错。有关详细信息,请参阅内部异常。---> System.IO.FileNotFoundException: 无法加载文件或程序集“System.Memory, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51”或其依赖项之一。
我重新安装了实体框架和 npgsql 包,并尝试添加所有(相同的)程序集,但没有成功。Stack 上的类似答案并没有解决我的问题。(我可以使用当前版本,而无需在 VS 或其任何软件包上进行进一步更新。)
!注意:当我使用 API 调用与当前模型(与 DB 正确通信)时,我从我的服务中获取了所有适当的数据,但我无法从 DB 生成新模型。
任何解决方案?
我在用
视窗 10
VS 2015
实体框架 6.2.0
Npgsql 3.1.1
.Net v.4.6.2
Asp.net
提前致谢 !
Bri*_*ter 29
如果此错误出现在 IIS 应用程序(例如 ASP.NET)中,则很可能您在 web.config 中缺少绑定重定向。
从 Nuget 安装时,您应该在 web.config 中看到绑定重定向。
如果您将应用程序部署到另一台计算机,但未能在该辅助计算机上设置绑定重定向,则可能会出现此错误。
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.1" newVersion="4.0.1.1" />
</dependentAssembly>
Run Code Online (Sandbox Code Playgroud)
使用 IL 反汇编程序 (ildasm.exe) 检查输出目录中的版本是否与错误消息中的版本匹配。
我们的软件经常遇到此类问题,因为不同的 nuget 软件包需要不同的版本以及 nuget 中没有的库的令人讨厌的组合。
构建过程不考虑对同一库的不同版本的需求。
如果版本不匹配确实是问题的原因,您可能会在 app.config 中查找绑定重定向,以将该库的所有旧版本转发到最新版本。
需要将类似这样的内容添加到<dependentAssembly>
相关库的节点中:
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
ildasm 通常可以在这里找到(取决于您的 Visual Studio 版本)
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\ildasm.exe
小智 0
通过快速谷歌搜索,我发现了这个: https: //github.com/GrillPhil/ServerlessRealtimeDemo/issues/1
我不知道这是否已经过时,但您是否尝试过在项目中将目标版本设置为 Windows 10 版本 1803(10.0;Build 17134)并将最低版本设置为 Windows 10 Fall Creators Update(10.0;Build 16299)特性?
归档时间: |
|
查看次数: |
20947 次 |
最近记录: |