Если вы хотите загрузить только начальную сборку без каких-либо зависимых сборок, вы можете использовать Assembly.LoadFile
в AppDomain, а затем выгрузить AppDomain, когда закончите.
Создайте класс загрузчика для загрузки иработа со сборкой:
class Loader : MarshalByRefObject
{
public void Load(string file)
{
var assembly = Assembly.LoadFile(file);
// Do stuff with the assembly.
}
}
Запустите загрузчик в отдельном домене приложения следующим образом:
var domain = AppDomain.CreateDomain(nameof(Loader), AppDomain.CurrentDomain.Evidence, new AppDomainSetup { ApplicationBase = Path.GetDirectoryName(typeof(Loader).Assembly.Location) });
try {
var loader = (Loader)domain.CreateInstanceAndUnwrap(typeof(Loader).Assembly.FullName, typeof(Loader).FullName);
loader.Load(myFile);
} finally {
AppDomain.Unload(domain);
}