如何使用VB.NET以编程方式获取“System.Core.dll”的路径?

时间:2010-12-24 11:58:13

标签: .net

是否有办法获取“System.Core.dll”程序集或任何其他程序集的路径而不是执行程序?

1 个答案:

答案 0 :(得分:1)

如果您知道程序集中存在的类型,则可以使用Type.Assembly来获取对包含程序集的引用。然后,这只是获得Location财产的问题。

在这个特定的情况下,您可以这样做(对不起,这在C#中):

//The Enumerable class is in System.Core
typeof(System.Linq.Enumerable).Assembly.Location 

对于您不知道特定包含类型但知道已加载到当前AppDomain的程序集的更通用的解决方案将类似于(未经测试):

AppDoman.CurrentDomain
        .GetAssemblies()
        .Single(assembly => assembly.GetName().Name == mySimpleName)
        .Location

否则,没有简单的解决方案。您必须找出感兴趣的程序集探测的位置。

编辑:为了清晰起见,我们是完全合格的Enumerable