我目前在Web服务器控件中使用以下代码行来获取对已加载的System.Web程序集的引用:
var assembly = AppDomain.CurrentDomain.GetAssemblies()
.Single(i => i.FullName.Contains("System.Web,"));
我有点担心Single方法调用失败的原因可能是因为(1)无法找到程序集,或者(2)返回了多个程序集。在调试器中,看起来只有一个程序集与选择器匹配(我在System.Web之后包含逗号,因为所有其他程序显示为“System.Web.Whatever”),但这并不意味着加载的所有程序集的FullName永远不会包含此文本。)
有没有更好的方法来识别我正在寻找的参考,所以我知道它总会找到它?
感谢。
答案 0 :(得分:3)
最好的方法是使用你知道在System.Web程序集中的类型,例如:
var assembly = typeof(System.Web.HttpContext).Assembly;