我创建了一个类似EF工具的.Net全局工具,万事大吉,成功构建了目标项目,并且可以加载目标程序集。但是加载目标程序集后无法解决其依赖性。 目标项目是Asp.Net mvc核心项目,我知道使用AssemblyResolve事件从自定义位置进行负载装配,但我不知道正确的位置。调试目录中没有任何dll。
这是我现在可以使用的代码:
AppDomain.CurrentDomain.AssemblyResolve += ResolveAssembly;
private Assembly ResolveAssembly(object sender, ResolveEventArgs args)
{
var assemblyName = new AssemblyName(args.Name);
foreach (var extension in new[] { ".dll", ".exe" })
{
var path = Path.Combine(AppBasePath, assemblyName.Name + extension);
if (File.Exists(path))
{
try
{
return Assembly.LoadFrom(path);
}
catch
{
}
}
}
return null;
}