将 DLL 构建到单独的文件夹
Posted
技术标签:
【中文标题】将 DLL 构建到单独的文件夹【英文标题】:Build DLL to a separate folder 【发布时间】:2018-12-15 02:35:24 【问题描述】:第一
有几个类似的问题,但没有有答案 这解决了我的问题,我也不能在其中发帖。最接近的是this question。
我找到了答案here。我在这里发帖,所以我可以找到它 稍后。
问题:如何构建我的项目并将我的所有Referenced Library
放在lib
子文件夹中?
A 想要这个输出目录:
保持这样的状态:
【问题讨论】:
【参考方案1】:我找到了答案here 并在此处转录了链接死的情况。
在您的 App.config
文件中,插入以下内容:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="lib" />
</assemblyBinding>
</runtime>
</configuration>
然后转到Project -> Properties
--- 右键单击您的Project
,然后在ContextMenu
中选择Properties
。
现在转到Build Events
并在Post-build event command line
文本框中添加以下代码(如下图所示)。
; Move all assemblies and related files to lib folder
ROBOCOPY "$(TargetDir) " "$(TargetDir)lib\ " /XF *.exe *.config *.manifest /XD lib logs data /E /IS /MOVE
if %errorlevel% leq 4 exit 0 else exit %errorlevel%
之后
构建您的项目并与您的强迫症说再见!
【讨论】:
很高兴知道这一点! :) 请注意,由于某种原因,这会中断对引用此项目的其他项目的调试。在执行这些其他项目时,该项目由于某种原因无法找到它的依赖 DLL。以上是关于将 DLL 构建到单独的文件夹的主要内容,如果未能解决你的问题,请参考以下文章
如何配置 tfs build 以在发布构建完成时复制 dll