C# / C++在同一个解决方案中,DllImport找不到DLL

8

我有一个包含C++ dll项目和使用它的C#项目的解决方案。问题是C++项目的构建路径在解决方案文件夹中,而C#项目在其bin文件夹中(每个都嵌套在debug/release中),所以DllImport找不到它们。
有没有标准的方法来解决这个问题?


你是否将dll添加到项目引用中了? - Tudor
@Tudor 是的 (非空填充词) - Baruch
1个回答

6
您应该将两个项目的构建路径设置为相同的“bin”目录,最好是解决方案而不是项目。然后,只需使所有项目都构建到那个文件夹即可。您可以从项目设置中更改它。
另一种技术是为C++应用程序使用后期构建步骤将DLL复制到C#项目的文件夹中。这样,您实际上没有更改任何路径,只需复制一个DLL。但请注意,当您清理C++文件的项目时,您可能仍然在C#项目的bin目录中保留了副本,导致您想知道为什么事情不像预期的那样发生。
或者,您可以将C++ DLL部署到系统路径(也作为后期构建步骤的一部分),但您将面临与上述相同的问题。
对于调试,我建议按照所提供的顺序进行操作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接