gpt4 book ai didi

sql-server - 无法加载文件或程序集 'System.Data.SqlServerCE'

转载 作者:行者123 更新时间:2023-12-03 09:48:26 25 4
gpt4 key购买 nike

我正在尝试使用 VS2012 中的 VB.NET 连接到外部 .sdf 文件。我在使用 System.Data.SqlServerCE DLL 时遇到问题。

当我不复制本地时,我收到错误:无法加载文件或程序集“System.Data.SqlServerCe,Version=3.5.1.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91”或其依赖项之一。系统找不到指定的文件。

如果我复制本地,我会得到:无法加载文件或程序集“System.Data.SqlServerCe,Version=3.5.1.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91”或其依赖项之一。找到的程序集的 list 定义与程序集引用不匹配。 (HRESULT 异常:0x80131040)

我安装了 SQL Server Compact 版本 4,因此我在“C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v4.0\Private”中引用 DLL。我已经尝试从其他位置添加此 DLL,但会收到“发现同一依赖程序集的不同版本之间存在冲突”警告。如果我点击它,它会将以下内容添加到 app.config 中:

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Data.SqlServerCe" publicKeyToken="89845DCD8080CC91" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.0.1" newVersion="4.0.0.1"/>
</dependentAssembly>
</assemblyBinding>
</runtime>

将其添加到 app.config 后,我收到此错误:

无法加载与版本 8876 的 ADO.NET 提供程序相对应的 SQL Server Compact 的 native 组件。安装正确版本的 SQL Server Compact。有关详细信息,请参阅知识库文章 974247。


我之前注意到的一件事是 System.Data.SqlServerCe 不在 C:\Windows\Microsoft.NET\assembly 文件夹中。我使用 gacutil.exe 安装了 DLL 并更改了

<bindingRedirect oldVersion="0.0.0.0-4.0.0.1" newVersion="4.0.0.1"/>

在 app.config 中

<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>

(4.0.0.0 是 gacutil 列出的版本)。

这至少让我克服了装配错误。 :)

现在发布自己的答案还为时过早,所以我将保留此修改。

最佳答案

我设法通过使用 C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Desktop\System.Data.SqlServerCe.dll 解决了上述问题。因此路径 C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private 中的 System.Data.SqlServerCe.dll 不起作用。

关于sql-server - 无法加载文件或程序集 'System.Data.SqlServerCE',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22151556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com