是否可以从引用的程序集中获取ASP.NET Web应用程序的程序集名称?获取Web应用程序程序集名称,无论当前正在执行的程序集
Assembly.GetEntryAssembly在桌面和控制台应用程序中运行良好,但它似乎在Web应用程序中始终为空,并且GetExecuting \ GetCallingAssebly返回我引用的程序集,而不是Web应用程序中的程序集。
朗解释:
我写了一个定制Settings Provider,即而不是从应用程序配置文件读取配置,它从一个集中的配置服务获取的设置。
自定义提供程序位于单独的程序集中,因此它可以被不同的应用程序使用。
ApplicationName属性需要用应用程序程序集名称重写。
使用提供者的方法是通过.net custom attribute,所以我不能发送任何参数给它。
由于Assembly.Get * Assembly方法看起来不起作用,我能想到的唯一一件事情就是需要appSetting和web应用程序的应用程序名称,但我对此并不满意。任何帮助表示赞赏,谢谢!
我得到“在应用程序的预启动初始化阶段不能调用此方法。”尝试在ASP.NET MVC中使用此方法时出错。 – Tomas
这会为我返回“mscorlib”。 – Slavo
如果您的项目中没有包含Global.asax文件,则这不起作用。 – Slavo