【发布时间】:2012-05-04 07:39:59
【问题描述】:
我有以下方法应该检索已加载的本地(在 bin 文件夹中)程序集的列表:
static IEnumerable<Assembly> GetLocalAssemblies()
{
Assembly callingAssembly = Assembly.GetCallingAssembly();
string path = new Uri(Path.GetDirectoryName(callingAssembly.CodeBase)).AbsolutePath;
var assemblies = AppDomain.CurrentDomain.GetAssemblies();
return assemblies.Where(x => !x.IsDynamic && new Uri(x.CodeBase).AbsolutePath.Contains(path)).ToList();
}
但是,程序集列表缺少我需要的几个程序集。我需要的程序集是托管的(c# .net 4),在项目中被引用,并且存在于 bin 文件夹中。
为什么应用程序启动时 bin 文件夹中的二进制文件没有扫入 AppDomain?
【问题讨论】:
-
出于好奇,string path的值是多少?
-
项目的bin文件夹路径
标签: c# reflection assemblies