我有一个工作的c ++ dll可以在我通过互操作服务调用的一个c#项目中工作。我创建了另一个c#项目,我试图调用相同的.dll但是仍然收到一条通用错误消息,指出无法找到.dll,这两个项目都是.net 2.0。我应该将.dll文件放在什么文件夹中,以及在项目中指定的位置,以便项目可以找到它?
把它想象成一个提醒我...
在上一个项目中,我没有对它的引用,我只是在/ bin文件夹中,并为此项目做同样的事情不起作用。
谢谢R。
答案 0 :(得分:3)
确保所讨论的DLL所依赖的所有DLL与使用DLL的exe所在的目录相同。
答案 1 :(得分:0)
将C ++(native)dll放在C#项目的输出目录中,bin \ Debug或
答案 2 :(得分:0)
只要您将工作目录放在DLL的位置,就不会有问题。
转到Debug选项卡上的项目属性,并将工作目录设置为包含DLL的目录。
答案 3 :(得分:0)
我通常将DLL作为文件添加到项目中,然后将其复制到较新版本。
答案 4 :(得分:0)
为了让您的Visual Ssolution自动为您执行此操作,您可以执行以下操作:
将非托管项目添加为C#项目依赖项。这会将DLL复制到C#可执行文件的路径中。
将C ++项目的输出路径更改为c#可执行文件的输出路径。
构建C ++项目并将dll添加为C#项目的链接。在其属性中设置以复制到输出目录。