Ошибка разрешения хранения в Зефире

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

var assembly = Assembly.LoadFrom( FilePathHere );

используйте это:

var assembly = Assembly.Load( File.ReadAllBytes(FilePathHere));

Это фактически загружает «Содержание» файла сборки, а не самого файла. Это означает, что в файле сборки нет блокировки файлов! Таким образом, теперь он может быть скопирован, удален или обновлен без закрытия приложения или пытается использовать отдельный AppDomain или Marshaling!

PROS: Очень просто исправить с помощью 1 Liner кода! CONS: Невозможно использовать AppDomain, Assembly.Location или Assembly.CodeBase.

Теперь вам просто нужно уничтожить все экземпляры, созданные на сборке. Например:

assembly = null;
139
задан Varad Mondkar 8 March 2018 в 06:31
поделиться