【发布时间】:2009-04-16 13:06:35
【问题描述】:
如何在引用的程序集中获取调用 Web 应用程序的版本号?
我尝试过使用 System.Reflection.Assembly.GetCallingAssembly().GetName() 但它只是给了我动态编译的程序集(返回版本号 0.0.0.0)。
更新:就我而言,我需要一个不需要引用回 Web 应用程序程序集中的类的解决方案。 Jason 在下面的回答(标记为已接受)满足了这一要求 - 这里提交的许多其他人都没有。
【问题讨论】:
-
"...我需要一个不需要引用回 Web 应用程序程序集中的类的解决方案" - 我很想知道您为什么需要这个。我必须说我认为 Yodan Tauber 的解决方案在我看来比公认的答案要干净得多 - 尽管我会使用
typeof(Global)而不是特定于应用程序的类名。 -
@Joe - 该方法位于各种解决方案中使用的共享程序集中。这些应用程序可能是也可能不是 Web 应用程序。无论哪种方式,我都需要能够获取应用程序的版本号,而无需实际引用应用程序中的类。
-
@David 我发现这是一个令人困惑且措辞不佳的问题,即使您的更新也是如此。如果您选择的答案是您真正想要的,那么问题需要修改以避免混淆。您应该包括可能被非 Web 应用程序调用的要求,并且您不知道 HttpApplication (global.cs) 类型或程序集中的任何类型。如果是这种情况,我会考虑重构这个接口。
标签: c# .net asp.net reflection assemblies