• работа попробовал выпиздить GAC из сборки. В принципе, ничего сложного — просмотреть все длл, развернуть рекурсивные зависимости, прописать их в .exe.config во все бинарники. Ну а что и тех и других в билде много — программе же всё равно :) Пока дыма нет, посмотрим.

Replies (16)

  • @max630, откуда гак в сборке?
  • @max630, толком не понял, что ты делаешь, но какое-то вуду, проблема в другом чём-то
  • @complemento, ну был он там, как ещё длл находить, если они не в той же директории?
  • @max630, у винды есть стандартный алгоритм поиска длл, включая текущую папку, системные папки, path и т.д. если что-то не находится, значит, что-то не доставлено, сам дотнет, вц_редист, какие-нибудь дополнительные модули и т.д.
  • @complemento, путь для манагед длл не работает. системные папки для разработки ничем не лучше GAC. Ещё варианты? Учти что соответствующий раздел в msdn я читал.
  • @max630, так что тебе надо сделать?
  • @complemento, в продукте есть библиотека A.dll, есть программа B.exe. B использует A, они лежат в разных местах. В инсталляции это решается помещением A.dll в GAC.
  • @max630, в общем случае в дотнете это решается манифестами, для конкретной длл её можно запихать прямо в инсталляторе в папку с exe (если при этом надо com-регистрация — дополнительно запустить скрипт)
  • @complemento, да, а потом этих конкретных длл примерно по 10 копий, в каждой папке где есть какой-то exe.
  • @max630, ну тогда наверно gacutil и gacutil /u
  • @complemento, вот, а я про что. А если 2 билда, с немножко разными длл? Правильно — нарисовать батник register, который запускать перед запуском программы. Или #2722807 . Или вот как я, посмотрим, может и проканает.
  • @max630, батник запускать в процессе установки, потом в процессе деинсталляции батник для сноса, и потом уже ставить новый билд
  • @complemento, какой ещё установки? это разработка. Я код пишу.
  • @max630, ну ты пишешь код, потом собираешь, потом деплоишь на тестовое окружение, потом проверяешь
  • @complemento, нет, мне такого траходрома не надо, я просто собрал и запускаю
  • @max630, то есть ты экономишь время и хочешь новую длл сразу быстренько использовать? я бы делал наверно так: gacutil /u до билда, новый билд, потом gacutil