我正在使用P/Invoke从我的项目中调用非.NETDLL,这意味着.dll必须始终位于.exe的目录中。
有没有办法告诉Visual Studio这种依赖关系,以便它在编译时自动将.dll复制到输出目录,并自动将.dll包括在设置中?或者我必须手动完成此操作?
发布于 2008-09-24 10:18:06
您可以将此文件复制/链接到项目,并在属性窗口中将"Build Action“设置为"None”,将"Copy to Output Directory“设置为"Copy if newer”或"Copy always“。
或者您可以使用"Pre-Build Events“和"Post-Build Events”,您可以在其中指定任何批处理脚本。
我更喜欢第二种方式,因为这种方式比第一种方式更灵活。
您还可以修改MSBuild文件并添加复制文件的任务。
发布于 2008-09-24 10:13:39
您可以简单地将.DLL添加到您的项目中。
选择该文件的Properties
窗格,并将Build Action
设置为Content
,将Copy to Output Directory
设置为Copy if newer
。
发布于 2009-09-04 00:20:50
我认为仅仅将.DLL添加到项目中的一个问题是,您可能需要不同版本的DLL来进行调试和发布构建。您可能认为可以将DLL的调试版本和发布版本都添加到文件中,并根据配置排除不合适的版本,但我找不到这样做的方法。我使用的是Visual Studio 2010。我确信这在过去的VS6中是有效的。
https://stackoverflow.com/questions/126331
复制相似问题