Dll как в бункере, так и в gac, который используется?

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

Есть ли способ переопределить GAC с DLL в папке / bin, чтобы проверить новые функции до их выпуска?

Если он имеет тот же номер версии, что и ссылка на DLL, используется GAC.

Если вы увеличиваете номер версии, перестройте сайт, ссылающийся на номер новой версии, поместите новую версию в каталог / bin, тогда эта DLL будет использоваться.

Если вы не хотите менять номер версии, вам не повезло.

Когда .NET загружает сильные сборки ассемблеров, сначала он пытается решить, какой номер версии использовать. Он делает это сначала с помощью ссылки, затем ищет политики издателя , а затем ищет переадресацию связывания в файле конфигурации.

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

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

Я смог переопределить GAC с помощью сборки в папке \ bin с помощью элемента .

Указав в моем файле web.config, я могу сказать, что мое приложение использует эту версию, а не версию, указанную в GAC.

Вы также можете взглянуть на элемент для указания мест сборки?

Думаю, я мог бы сказать то же самое, что и Адам Силлс, но переформулировал это для моего понимания. Посредством собственного тестирования выглядит так:

  • Если ваше приложение скомпилировано с версией 1.0.0.0 и 1.0.0.1 в GAC, вы можете опустить DLL из вашего / bin.
  • Если ваше приложение скомпилировано с версией 1.0.0.1 и 1.0.0.0 в GAC, тогда вы ДОЛЖНЫ поместить .dll в ваш / bin, чтобы игнорировать GAC. Произошла ошибка, если версия GAC старше требуемой версии вашего приложения, если вы не включили более новую версию в ваш / bin.

Надеюсь, это правильно …

Вы можете просмотреть информацию о привязке в файле журнала с помощью средства просмотра привязки журнала сборки (Fuslogvw.exe), которое входит в комплект разработки программного обеспечения Windows (SDK).

s

  • Запуск приложения на основе .net без .NET Framework
  • Лучший способ развертывания приложения Visual Studio, которое может работать без установки
  • Использование Maven для развертывания
  • Существует ли компилятор R?
  • Приложение Java EE Enterprise: выполните некоторые действия по развертыванию / запуску
  • Лучшие практики ILMerge
  • System.IO.FileNotFoundException: не удалось загрузить файл или сборку «X» или одну из ее зависимостей при развертывании приложения
  • Объединить msi и exe
  • развертывание фреймворка zend на сервере
  • ASP.NET MVC на IIS6
  • Сделать MSDeploy (Visual Studio) не удалять папку App_Data, но удалять все остальное
  • Давайте будем гением компьютера.