Как мне скомпилировать и развернуть сборку в пользовательский путь с помощью Visual Studio? - PullRequest
1 голос
/ 23 мая 2009

Я долго искал это и мог найти что угодно. У меня есть 2 проекта. Один называется ConsoleApp, а другой называется ConsoleLib. ConsoleApp имеет ссылку на ConsoleLib. Как я могу сказать Visual Studio скопировать сборку в пользовательский путь вместо пути приложения? Я хочу иметь в виду, что когда я создаю решение, я хочу получить эту структуру папок

AppPath \ ConsoleApp.exe
AppPath \ Lib \
AppPath \ Lib \ ConsoleLib.dll

Ответы [ 3 ]

2 голосов
/ 23 мая 2009
  • В вашем проекте ConsoleApp обратитесь к проекту ConsolLib, который получит файл ConsolLib.dll в ConsolApp \ Bin.

  • Теперь в проекте ConsoleApp перейдите Команды PostBuild там вы можете разделить операции, которые вы хотите выполнить после сборки, и там вы можете скопировать их в ConsoleApp \ Lib.

1 голос
/ 23 мая 2009

Вам необходимо использовать команду postbuild в проекте приложения, чтобы создать каталог lib и скопировать в него файл библиотеки.

Если вы решите сделать это (что я бы не рекомендовал, если у вас нет большого количества библиотек dll и вы испытываете непреодолимое желание организовать их), вам также необходимо добавить элемент пробного пути в файл app.config, который сообщит ему где искать библиотеки. Смотрите здесь .

0 голосов
/ 18 мая 2010

Используйте команду 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>

Надеюсь, это поможет

...