将我的Web应用程序从ASP.NET Core RC1迁移到RC2.我正在尝试加载我引用的类库.
此代码段不再适用于RC2.
public class Startup { public void Configure(IApplicationBuilder app,IHostingEnvironment env,ILoggerFactory loggerFactory) { // libraryManager is null .... ILibraryManager libraryManager = app.GetService<ILibraryManager>(); List<Assembly> result = new List<Assembly>(); IEnumerable<Library> libraries = libraryManager.GetLibraries(); IEnumerable<AssemblyName> assemblyNames = libraries.SelectMany(e => e.Assemblies).Distinct(); assemblyNames = Enumerable.Where(assemblyNames,e => e.Name.StartsWith("projectNamespace")); foreach (AssemblyName assemblyName in assemblyNames) { Assembly assembly = Assembly.Load(assemblyName); . . . } } }
非常感谢我们的帮助,谢谢Stefan
解决方法
我找到了解决方案.我现在使用DependencyContext而不是ILibraryManager
var loadableAssemblies = new List<Assembly>(); var deps = DependencyContext.Default; foreach (var compilationLibrary in deps.CompileLibraries) { if (compilationLibrary.Name.Contains(projectNamespace)) { var assembly = Assembly.Load(new AssemblyName(compilationLibrary.Name)); loadableAssemblies.Add(assembly); } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。