我已经搜索了很久了,我可以找到任何东西。我有2个项目。一个叫ConsoleApp,另一个叫ConsoleLib。 ConsoleApp具有ConsoleLib的引用。 我如何告诉visual studio将程序集复制到自定义路径而不是应用程序路径? 我想说的是,当我构建解决方案时,我想获得这个文件夹结构
APPPATH \ ConsoleApp.exe
APPPATH \ LIB \
APPPATH \ LIB \ ConsoleLib.dll
答案 0 :(得分:2)
在您的ConsoleApp项目中,请参阅ConsolLib项目,该项目将在ConsolApp \ Bin中接收ConsolLib.dll。
现在,在ConsoleApp项目中,转到 PostBuild命令,您可以在构建后执行可能要执行的操作,并将其复制到ConsoleApp \ Lib。
答案 1 :(得分:1)
您需要在应用程序项目中使用postbuild命令来创建lib目录并将库文件复制到其中。
如果你决定这样做(除非你有很多dll并且感到压倒性地要求组织它们,否则我不建议这样做)你还需要在你的app.config文件中添加一个探测路径元素来告诉它在哪里寻找图书馆。 See here
答案 2 :(得分:0)
使用postbuild命令(我在输出中使用subdir“release”)
mkdir "$(TargetDir)release\"
mkdir "$(TargetDir)release\bin\"
copy "$(TargetDir)*.*" "$(TargetDir)release\"
copy "$(TargetDir)*.dll" "$(TargetDir)release\bin\"
copy "$(TargetDir)*.pdb" "$(TargetDir)release\bin\"
del "$(TargetDir)release\*.pdb"
del "$(TargetDir)release\*.dll"
del "$(TargetDir)release\*vshost*.*"
在app.config中:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="bin"/>
</assemblyBinding>
</runtime>
希望这有帮助