Как заставить .NET искать сборки в локальных папках сначала вместо GAC? - PullRequest
7 голосов
/ 06 мая 2009

Насколько я понимаю, .NET Runtime всегда будет искать ссылки сборок в GAC, а затем в локальных папках. Есть ли в Web.Config параметр, который бы инвертировал этот порядок?

Ответы [ 4 ]

17 голосов
/ 06 мая 2009

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

3 голосов
/ 06 мая 2009

Подробнее. на обходных путях в этой ТА потока .

2 голосов
/ 06 мая 2009

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

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

JaredPar прав - GAC всегда будет опрошен первым для сборки. Однако, если вы похожи на меня и хотите, чтобы DLL работала в GAC и все еще отлаживалась, вы можете добавить скрипт сборки, чтобы выгрузить ваш файл .pdb в ту же папку, что и сборка в GAC (она будет в C: \ windows \ assembly \ gac_msil \ assembly.name_ [токен открытого ключа]).

...