Чтобы ответить на пункт 3, параметр, который заставляет все сборки в папке bin загружаться при первом доступе, находится в файле C: \ winnt \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG \ web.config (в зависимости от вашей среды). Выдержка из этого файла:
<system.web>
<compilation>
<assemblies>
<add assembly="*" />
</assemblies>
</compilation>
</system.web>
Все сборки, соответствующие шаблону, загружаются как часть начальной компиляции.
Изменив файл web.config для приложения ( НЕ глобальный DotNet) для включения сборки веб-службы и исключения совпадения с подстановочными знаками, создается впечатление, что приложение может работать, если отсутствуют дополнительные зависимости :
<system.web>
<compilation>
<assemblies>
<remove assembly="*" />
<add assembly="Main.Application.WebService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=YOURKEYHERE" />
</assemblies>
</compilation>
</system.web>
Мы все еще экспериментируем с этим, поэтому не уверены, что это полностью решит проблему или имеет какие-либо необычные побочные эффекты.