如何使用visual studio编译和部署程序集到自定义路径?

时间:2009-05-23 18:20:06

标签: visual-studio assemblies

我已经搜索了很久了,我可以找到任何东西。我有2个项目。一个叫ConsoleApp,另一个叫ConsoleLib。 ConsoleApp具有ConsoleLib的引用。 我如何告诉visual studio将程序集复制到自定义路径而不是应用程序路径? 我想说的是,当我构建解决方案时,我想获得这个文件夹结构

APPPATH \ ConsoleApp.exe
APPPATH \ LIB \
APPPATH \ LIB \ ConsoleLib.dll

3 个答案:

答案 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>

希望这有帮助