Сравнивать GAC с двух серверов? - PullRequest
3 голосов
/ 06 июля 2011

Мне нужен простой и надежный способ сравнения GAC (Global Assembly Cache) с двух серверов во время миграции BizTalk. Я также хочу переместить GAC из QA в Production, если он не существует на конечном сервере. Оба они являются серверами BizTalk и имеют тонны сборок GAC'd. Я видел некоторые инструменты в Интернете, но ссылка на один была сломана (winmerge), а другие не казались действительно подлинными. Спасибо за вашу помощь.

1 Ответ

6 голосов
/ 07 июля 2011

Всякий раз, когда мне нужно найти что-то в GAC, я всегда просто запускаю Gacutil.exe /l > c:/gac.txt из командной строки Visual Studio (или, если она недоступна, Windows SDK), а затем ищу выходной файл в текстовом редакторе.Вы можете сделать это на обеих машинах и использовать инструмент типа Beyond Compare для сравнения содержимого двух GAC.Помимо сравнения, мы также будем выполнять сравнение каталогов, так что это может быть проще (если вы будете следовать следующей части этого ответа), чем экспортировать список того, что находится в GAC.

Чтобы экспортировать сборки, вы можете следовать инструкциямв http://blogs.msdn.com/b/johnwpowell/archive/2009/01/14/how-to-copy-an-assembly-from-the-gac.aspx, чтобы заставить GAC вести себя как обычный каталог Windows, позволяя вам копировать и вставлять нужные файлы.

Я скажу, однако, что лучший вариант - это иметьBizTalk собирается в упакованные файлы MSI, которые вы можете просто импортировать на любой сервер BizTalk, который вы хотите (и затем фактически выполнить в GAC).Это гарантирует то, что вам нужно в базе данных BizTalk, , потому что GACing часто недостаточно .

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

Отсутствие всего готового для развертывания на новом сервере (и документированного тоже) - отличный способ оказаться в затруднительном положении в случае аварииили если вам просто нужно добавить другой сервер BizTalk для балансировки нагрузки.

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