我在便携式区域内执行了一个操作,该操作需要获取有关Assembly调用它的信息。便携式区域在项目Core中,由客户端应用程序引用Client。
GetAssembly并且GetExecutingAssembly都返回Core程序集:
// Both are Core
assembly = Assembly.GetAssembly(GetType());
assembly = Assembly.GetExecutingAssembly();
我的下一个想法是使用GetCallingAssembly,但这又带来了Anonymously Hosted DynamicMethods Assembly.
assembly = Assembly.GetCallingAssembly();
唯一的其他选项是GetEntryAssembly,它只是空:
assembly = Assembly.GetEntryAssembly();
我想要做的是Client使用内置框架获取对程序集的引用。显然,我可以使用一些花哨的依赖注入或其他不太复杂的方法来获取该操作的信息;但是,我想知道是否有更好的内置方法来做到这一点。
澄清:我想在这里得到的是客户端程序集的版本信息。我希望每个客户端都可以访问VersionInfo该Core区域中的部分并将构建版本信息添加到呈现的页面。因此,操作Core需要知道调用它的程序集,以便它可以反映版本信息。