是否有办法获取“System.Core.dll”程序集或任何其他程序集的路径而不是执行程序?
答案 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
。