在Visual Studio中指定非.NET依赖项

Gro*_*kys 8 .net dll dependencies visual-studio

我使用P/Invoke从我的项目调用非.NET dll,这意味着.dll必须始终存在于.exe的目录中.

有没有办法告诉Visual Studio这个依赖项,以便它在编译时自动将.dll复制到输出目录,并在设置中自动包含.dll?或者我必须手动执行此操作吗?

Mag*_*son 8

您只需将.DLL添加到项目中即可.

选择Properties该文件窗格中,并设置Build ActionContentCopy to Output DirectoryCopy if newer.


TcK*_*cKs 5

您可以将此文件复制/链接到项目,并在属性窗口中将"构建操作"设置为"无",将"复制到输出目录"设置为"如果更新则复制"或"始终复制".

或者您可以使用"预构建事件"和"构建后事件",您可以在其中指定任何批处理脚本.

我更喜欢第二种选择,因为这种方式比第一种方式更灵活.

您还可以修改MSBuild文件并添加用于复制文件的任务.