[英]How to correctly reference a dll in Visual Studio 2010?
我有一个包含C ++ DLL项目的解决方案,以及将使用此DLL的C#项目(通过使用PInvoke)。
dll正在我的解决方案文件夹中的x64/Release
文件夹中构建,这是有道理的,因为这样C#项目就不必戳入DLL项目的文件夹。
我想知道现在引用它的正确方法是什么。 现在,DLL项目是C#项目的依赖项。 我的直觉告诉我,这应该已经足够了,但是C#项目说它无法找到DLL。
我应该只添加.dll
文件作为参考吗? 我认为现在可能会有效,但从长远来看,当项目设置可能会发生变化时会破坏。
通常在这种情况下我配置我的解决方案,以便所有项目编译为$(SolutionDir)bin\\$(Configuration)
。 然后,二进制文件的位置与生产模式相同,并且可以很容易地使用DLL。
至于保留最新版本的DLL,请记住,您可以设置依赖关系,这样如果DLL中的任何更改,它将在构建程序集/应用程序之前重建。
另一种方法是使用构建事件(预构建和后构建)将DLL复制到适当的文件夹中。
您无法在托管项目中添加非托管DLL作为参考。 DLL需要驻留在可执行文件的文件夹中或系统的PATH的任何其他文件夹中。
最好的方法是使用“Post Build Event”将VS复制到每次重建时需要它的文件夹中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.