У меня есть консольное приложение .net core 2.0, которое делает следующее (упрощенное):
var a = Assembly.Load(Assembly.GetEntryAssembly()
.GetReferencedAssemblies()
.First(i => i.Name == "MyAssembly"));
var t = a.GetType("MyType");
var i = (MyBaseType)Activator.CreateInstance(t);
i.Execute();
Когда я отлаживаю код, он переходит в MyType.Execute()
, как ожидалось.
Однако, если я загружу сборку с помощью следующего кода:
var path = new FileInfo(Assembly.GetExecutingAssembly().Location);
var a = Assembly.LoadFile(Path.Combine(path.DirectoryName, "MyAssembly.dll"));
Код по-прежнему работает, но я не могу войти в MyType.Execute()
во время отладки.
Любая идея, почему/что не так?