【发布时间】:2022-02-23 00:03:11
【问题描述】:
所以我构建了一个 Com 接口 DLL。我已经使用 Nunit 对其进行了全面测试。我遇到了 Newtonsoft.Json 的问题,通过将其包含在类库项目中未找到并解决。现在正如我所说,该项目是一个 COM 接口的 DLL。当我从 VBA 开发系统调用 DLL 时出现错误,我尚未在 IDE 之外对此 VBA 开发系统进行测试,这样做没有任何意义。
那么这个 DLL 是干什么用的?它是供应商 WEBAPI 的接口。它还用作 TCP 数据库访问工具。因此,通过 NUGET 包,DLL 中包含了依赖于 Newtonsoft.Json 的 WatsonTCP。这就是发生故障的地方。它使用的是 .Network 4.7.2。
我已将newtonsoft.Json.DLL复制到VBA项目文件夹、VBA IDE exe文件夹、System文件夹、syswow64。似乎没有人能解决这个问题。 dll 正在按预期从 Class 项目下的 bin 文件夹中执行。
还有什么建议吗?我一直在网上挖掘,到目前为止,上述尝试都是网上建议的。或者我没有输入正确的搜索词 8)。
【问题讨论】:
-
感谢您的建议,我会阅读并尝试一下。谢谢。
-
您是否将所有 DLL 文件放在一起?或者您是否将主 DLL 从它的依赖项中移开?编译 C# 项目时出现的所有内容都需要在运行时放在同一个文件夹中。
-
@hackslash,是的,整个项目和支持 dll 都在同一个文件夹中。我什至检查了主 DLL.config 文件,它的依赖关系如下: