当通过COM Interop引用组件时,在Protobuf-Net文件或汇编中找不到



我正在尝试在C#中为Protobuf-Net软件包编写包装器,以使我能够直接从Excel中的VBA访问协议缓冲区文件。我已经写了我的代码,并引用了通过Nuget软件包管理器添加的Protobuf-Net。我使我的组装com可见,从vba我可以访问我的课程。
但是,当我尝试加载原本文件时,我会收到以下消息:

"无法加载文件或汇编'Protobuf-net,版本= 2.0.0.668, 文化=中性,publicKeyToken = 257B51D87D2E4D67'或其中之一 依赖性。该系统找不到指定的文件。 (protobufinterface.outputdata)"

我已经检查了Protobuf-net.dll文件正在复制到汇编目录。有什么想法是什么造成这种情况或我可以解决的问题?

非常感谢!

我使用.NET反射器发现了问题。我正在引用另外两个库,一个是protobuf-net.dll,另一个是第三方库,本身就是protobuf-net.dll。问题在于,第三方库(2.0.0.668)中引用的版本与我安装的版本不同(2.3.3)。实际上,在事后看来,错误消息告诉我我需要的一切。用TEH 2.0.0.668版本替换我的Protobuf-net.dll引用解决了我的问题。我不需要在gac中单独注册protobuf-net.dll。

感谢大家在此过程中的帮助。非常感谢。

protobuf-net.dll也取决于您应该添加到参考中的其他dll。

如果未明确指定它们,则应使用诸如" deweds.net"之类的实用程序。可以在此链接中找到更多信息:

现代等效的Visual Studio 6"取决于"实用程序

最新更新