Как поделиться библиотеками без использования GAC? - PullRequest
0 голосов
/ 09 сентября 2010

У меня есть библиотека, которая предназначена для использования многими веб-сайтами.Теперь я делаю это в свойствах библиотеки. Я установил «Командную строку события после сборки» следующим образом: copy «$ (TargetPath)» «$ (SolutionDir) \ MyWebsite \ bin \ $ (TargetFileName)»

Каждый раз, когда я хочу, чтобы новый веб-сайт использовал общую библиотеку, я добавляю новую строку, например, такую: copy "$ (TargetPath)" "$ (SolutionDir) \ MyWebsite2 \ bin \ $ (TargetFileName)"

Есть ли простой или лучший способ сделать это, кроме использования GAC?

1 Ответ

2 голосов
/ 09 сентября 2010

По-моему, ваша проблема заключается в отсутствии контроля над тем, как эта библиотека создается и используется другими проектами.Если бы я был вами (а я нет :), я бы приступил к разработке библиотеки через совместный проект модульного тестирования, где новые функциональные возможности могут быть разработаны и протестированы независимо.После того, как эта функциональность была реализована и протестирована для работы в параметрах модульного теста вручную , скопируйте сборку в папку «библиотека» веб-проекта, для чего, в первую очередь, требуется расширение библиотеки (этопапка содержит все ваши скомпилированные сборки, используемые этим проектом).

Еще лучше было бы поддерживать систему версий, в которой вы помечаете новую версию библиотеки, чтобы отслеживать точную версию исходного кода, которую она использует.

Причина, по которой я предлагаю то, что может показаться громоздкой методологией работы, заключается в том, что ваша нынешняя практика делает ваши существующие веб-сайты довольно хрупкими, поскольку внесенные в библиотеку изменения для одного сайта могут фактически сломать один из других сайтов.... и по мере того, как количество сайтов увеличивается, вы не можете вечно тестировать новые версии общей библиотеки на существующих сайтах.

Именно по этим причинам я не делаю рекомендуем использовать GAC либо.

...