我想从该应用程序引用并在同一个 AppDomain 中执行的任何代码中动态获取当前正在执行的 Web 应用程序的程序集。
我想要这个问题的确切内容:获取 Web 应用程序程序集名称,无论当前正在执行的程序集如何
但是,该问题中的所有回复都使用该Global.asax
文件来获取 Web 应用程序集。如果应用程序没有 global.asax 文件,这将不起作用,因为在这种情况下,返回的类型是HttpApplication
,它在System.Web
程序集中。
我想到的一种方法是通过某些东西过滤当前 AppDomain 中的程序集,但我不知道这可能是什么。Web 应用程序的程序集和另一个普通的 DLL 之间有什么区别吗?我知道 Visual Studio 中的项目有一个 GUID 来表示项目的类型(ASP.NET Web 应用程序、类库、MVC 应用程序等)。这些信息是否以某种方式存在于编译的程序集中?
另一种方法可能是使用ApplicationHost
命名System.Web.Hosting
空间中的,但它只有静态数据,没有关于程序集的内容。
第三种方法是在 Web 应用程序项目中包含一个类型并使用该类型,但为此,我需要获取 Web 程序集名称的代码需要对该类型的引用(这将是循环引用)。
有任何想法吗?