C# 找不到dll或依赖项

C# 找不到dll或依赖项,c#,vba,dll,C#,Vba,Dll,我正在尝试编写一个用于Access VBA应用程序的C#dll。仅当使用完整文件路径调用dll时,dll才能正常工作: Declare Function MyObject Lib "\path\to\my.dll" () As Object 尽管.dll位于同一文件夹中 但是,当我从my.dll(也在同一文件夹中)调用另一个dll(Test.dll)时,问题就出现了。我得到: 我已经尝试将路径添加到环境变量路径(这允许我在没有完整路径的情况下声明我的.dll函数),但没有成功。。。任何帮助都

我正在尝试编写一个用于Access VBA应用程序的C#dll。仅当使用完整文件路径调用dll时,dll才能正常工作:

Declare Function MyObject Lib "\path\to\my.dll" () As Object
尽管.dll位于同一文件夹中

但是,当我从my.dll(也在同一文件夹中)调用另一个dll(Test.dll)时,问题就出现了。我得到:


我已经尝试将路径添加到环境变量路径(这允许我在没有完整路径的情况下声明我的.dll函数),但没有成功。。。任何帮助都将不胜感激

运行依赖于dll的.exe。如果依赖项缺少vba声明它找不到dll。如图所示。

运行依赖于dll的.exe。如果依赖项缺少vba声明它找不到dll。仔细想想。

路径名有多长?excel将识别的字符数有一个限制,长度为0.108个字符。也许这就是问题所在,但它使用完整路径拾取初始dll而没有问题,并且将路径添加到env vars应该可以消除我认为的问题。你已经到了极限。添加环境路径可能会添加几个字符。我看到过这样的情况,即is开始失败的字符数会因几个字符而变化。永远不要弄明白为什么它不总是完全相同的数字。路径名有多长?excel将识别的字符数有一个限制,长度为0.108个字符。也许这就是问题所在,但它使用完整路径拾取初始dll而没有问题,并且将路径添加到env vars应该可以消除我认为的问题。你已经到了极限。添加环境路径可能会添加几个字符。我看到过这样的情况,即is开始失败的字符数会因几个字符而变化。永远不要弄明白为什么它不总是完全相同的数字。