Assembly.LoadFrom блокирует файл сборки - PullRequest
1 голос
/ 12 января 2011

Ссылка на этот вопрос: Файл блокировки System.Reflection.Assembly.LoadFile
System.IO.File.ReadAllBytes (path) не будет работать, так как это не автономная библиотека, она имеет много зависимостей. Это решение (http://www.eggheadcafe.com/software/aspnet/35494668/shadow-copies-how.aspx) также не будет работать, так как я пишу надстройку для Visual Studio, и у меня нет доступа к методу Main. Второй ответ здесь ( Могу ли я заставить AppDomain по умолчанию использовать теневые копии определенных сборок? ) тоже не сработает, поскольку проблема, описанная в комментарии, должна быть в состоянии повторно загрузить данную сборку всегда вижу самую свежую версию, но я все же должен иметь возможность пересобрать сборку, не выходя из экземпляра Visual Studio, который запускает мой плагин .

Какие у меня варианты?

1 Ответ

0 голосов
/ 20 февраля 2011

Мой оригинальный комментарий превратился в постоянное решение:
переместил код, загружающий сборку, в консольный exe-файл и скопировал exe-файл в фиксированное местоположение (установлено из конфигурации addin), и я вызываю AppDomain.ExecuteAssembly в этом фиксированном месте, а затем выгружаю этот AppDomain ... ( и этот appdomain использует shadowcopy просто для безопасности:))

...