我有一个Web表单项目(项目A),它引用了我用于数据访问层的另一个类库项目(项目B),我在项目A和B中安装了EntityFramework 3.1.15,现在我得到了运行-
db.SaveChanges();
中的时间错误错误说:
无法加载DLL“Microsoft.Data.SqlClient.SNI.x86.dll”:找不到指定的模块。 (HRESULT 异常:0x8007007E)
项目 B 使用的是 .NETFramework 4.7.2,项目 A 是 .NETFramework 4.5,后来我将其更改为 .NETFramework 4.7.2。但我遇到了同样的错误。
我该如何解决这个问题?
要解决该错误,我必须在我的可执行项目中引用 Microsoft.Data.SqlClient.SNI nuget,其中我的数据库连接项目已经引用了 Microsoft.Data.SqlClient。
希望这有帮助。
在您的 Web 项目(项目 A)中使用 Nuget Package Manager 添加包 Microsoft.Data.SqlClient。检查问题是否已解决。 如果仍然无法解决您的问题,请使用 vscode 甚至记事本等代码编辑器打开项目 A .csproj 文件,然后添加以下内容
<Target Name="_CopySNIFilesToWebProjectOutputDir"
AfterTargets="CopySNIFiles"
Condition="'$(WebProjectOutputDir)' != ''">
<Copy SourceFiles="@(SNIFiles)"
DestinationFiles="@(SNIFiles -> '$(WebProjectOutputDir)\bin\%(RecursiveDir)%(Filename)%(Extension)')"/>
</Target>
请检查 github 上的线程: