最近在做一个sdk二次开发的项目,具体是将一个C++开发的SDk用C#将它的API接口全部封装一遍,然后再做一个demo就好了

好不容易封装完了,在使用的时候出了问题。原来SDK中的dll老是加载不到。不是路径的问题,因为所有可能的路径我都试过了。问题是,C#引用的C++的那个dll又引用了一个dll,而我没有把第二个dll放到能找到的路径下。所以,就坑了我半天。

C#直接引用的那个dll可以放到System32路径下,也可以放到有程序入口的项目的debug下。至于进一步所引用的dll,也可以放到这俩个路径下。但是他们俩不能放在产生C#dll的那个项目的debug下。

另外,在dllImport的时候,也可以指定文件夹。