Я поддерживаю процесс сборки для нашего приложения, которое состоит из приложения ASP.Net, двух разных служб Win32 и других приложений, связанных с системным администратором.
Я хочу получить следующую конфигурацию, которая будет использоваться при отладке и развертывании.
libraires/ -- Contains shared assemblies used by all other apps.
web/ -- ASP.Net site
service1/ -- Win32 service 1 (seen under the service control manager)
service2/ -- Win32 service 2
adminstuff/ -- Sysadmin / support stuff used for troubleshooting
Проблема в том, что сборка, проверяющая privatePath в app.config, не поддерживает относительные каталоги вне корня приложения. Т.е.: нельзя использовать ../libraries. Очень разочаровывает ...
Если я буду строго называть наши сборки, я мог бы использовать элемент конфигурации codeBase, который, кажется, поддерживает абсолютный путь, но вам нужно указать каждую сборку отдельно.
Я также пытался подключиться к событию AppDomain.AssemblyResolve, но я получаю FileNotFoundException из .Net Fusion, прежде чем я смогу даже зарегистрировать обработчик событий в Main ().
Мне не нравится идея регистрации сборок в GAC. Слишком много хлопот при развертывании / обновлении приложения.
Есть ли другой способ сделать это без указания пути для каждой запрашиваемой сборки?