我创建了 3 个项目:
- V_1_OperationProject:(
类库项目)处理 LiteDb 版本 1 上的操作 - V_4_OperationProject :(
类库项目)处理 LiteDb 版本 4 上的操作 - MainProject:
调用 V_1_OperationProject 和 V_4_OperationProject 项目中的方法
V_1_OperationProject 包含打开和插入从 LiteDB v1 dll 创建的 DB 文件的逻辑,与 V_4_OperationProject 类似。
当我要从 V_1_OperationProject 在 DB 中插入值时,出现以下异常:
System.IO.FileLoadException:'无法加载文件或程序集'LiteDB,版本 = 1.0.0.0,文化 = 中性,PublicKeyToken = null'或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)'
当我删除 V_4_OperationProject 及其关联的 DLL 后,它就开始工作了。但我希望两者都能工作。
所以我尝试在主项目中添加以下内容:
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="LiteDB"
publicKeyToken="4ee40123013c9f27"
culture="neutral" />
<bindingRedirect oldVersion="0.0.0-1.0.0" newVersion="1.0.0" />
<bindingRedirect oldVersion="1.0.1-4.0.0" newVersion="4.0.0" />
<codeBase version="1.0.0" href="\LiteDB-1\LiteDB.dll" />
<codeBase version="4.0.0" href="\LiteDB-4\LiteDB.dll" />
</dependentAssembly>
</assemblyBinding>
这也不适合我。有人可以帮我吗?提前致谢