我有一个带有 UserControl 的 C# 项目。
此用户控件依赖于特定的 C++ 混合模式 dll,而后者又充当非托管 C++ DLL 的外观
C# C++ Mixed C++ Umnanaged
[ main app ] ---> [ myUC ] ---> [ OCShell.dll ] ---> [ OCC.dll ]
在设计视图中,我无法添加 UserControl。它说 OCShell(或其依赖项之一)上有一个 FileNotFoundException。但是,通过代码,一切正常。在主应用程序(Windows 窗体)中,我可以
myUC uc = new myUC();
this.Controls.Add(uc);
这很好用。正确的代码得到正确执行。
我检查了Dependency Walker,一切正常。一切都被正确复制到 Bin\Debug\ 目录,并且每个 DLL 都可以看到彼此。
我的猜测是设计视图编辑器没有检查这些 DLL 的正确路径,因此返回错误。
我还尝试将每个 dll 复制到解决方案中的每个可能目录,但这也无济于事