我编写的windows窗体控件库项目(C ++)使用非托管dll。非托管dll有一个头文件(柴郡猫)。我只是将它包含在控件库项目中。并调用非托管DLL中的函数(当然正确编组)。这编译和构建。问题是当我继续将控件添加到我的脚手架的工具箱时,这是一个托管C ++ winform应用程序,VS2005抱怨它不是.Net模块。
我见过人们使用MFC dll转换为windows窗体控件。我究竟做错了什么?。
答案 0 :(得分:1)
也许是因为VS2005找不到你原生的.DLL。对于本机.DLL,以“正常”方式搜索此.DLL:
您可以尝试将您的原生DLL放在上面提到的dirs中,并尝试获得更好的结果。
我绝对建议将您的原生部分静态并静态地链接到您的.NET项目(如果可能的话),因为它可以避免本机.DLL查找问题。 (这就是我所做的,因为有很多问题。比如我们有一个翻译工具[SDL Passolo]可以处理.NET DLL并将它们打包成翻译包,包括所有引用的DLL ......但只有.NET DLL但不是本机的的DLL!)。