C#:在我的exe旁边复制本机依赖项的优雅方式

Geo*_*rge 2 c#

目前我正在使用类似于这个的post-build事件命令行:

xcopy /Y /R d:\svn\some\directory\somedll.dll  $(TargetDir)
Run Code Online (Sandbox Code Playgroud)

问题是:当其他人将代码检查到另一个目录时,他们将不得不修复此命令中的路径.这样做有一种不那么强硬的方式吗?

Ric*_*dle 6

假设d:\svn\some\directory相对于您的.sln文件位于固定位置,您可以使用这样的相对路径:

xcopy /Y /R $(SolutionDir)..\directory\somedll.dll $(TargetDir)
Run Code Online (Sandbox Code Playgroud)

(注意,值$(SolutionDir)包括一个尾部反斜杠.)


dtb*_*dtb 5

如果d:\svn\some\directory在您的解决方案文件夹中,则可以添加somedll.dll到Visual Studio解决方案并在文件属性中将"复制到输出目录"设置"始终复制".