我有这样的场景:
错误:
Could not load file or assembly 'Newtonsoft.Json, Version=6.0.4.0, Culture=neutral,
PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies.
The system cannot find the file specified.
我希望我需要类似dependentAssembly重定向绑定的地方,就像你在.Net中使用的那样,以指示如何解决这些类型的事情,但我通过搜索找不到任何东西,告诉我哪里可能需要在COM中引用引用的程序集来获取它。
值得注意的是,在Newtonsoft.Json的情况下,降级到6.0.4并不能解决,因为在我们使用的各种软件包中有多个Json.Net的引用,所以我没有#&# 39;有权选择一个版本。
此外,在我们在库开发过程中使用的.Net测试器应用程序中,一切都按预期工作,并且参考文献自己使用正确的版本。所以我相信我需要弄清楚如何告诉COM找到它想要的东西。
任何帮助表示赞赏!感谢。
答案 0 :(得分:0)
我发现这种问题的一个解决方法是在调用c#代码的可执行文件的同一路径中包含一个配置文件。
我发现,如果我创建一个名为“myapp.exe”的VB6应用程序,我可以在“myapp.exe”的同一文件夹中创建一个名为“myapp.exe.config”的文本文件,其中包含以下内容:内容:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
在你的情况下,我相信exe名称将是“msaccess.exe”或类似的东西。