Orchardcms 使用代码获取Orchard CMS 1.8+中的模块版本号
有时,我喜欢记录模块的版本号。如何以编程方式在代码中获取模块的版本号 与在控制器的构造函数中请求IORChardService的方式相同,您可以请求IExtensionManager。然后,使用带有module.txt id中指示的模块名称的GetExtension方法,它返回一个ExtensionDescriptor,该ExtensionDescriptor公开版本属性和其他有用属性Orchardcms 使用代码获取Orchard CMS 1.8+中的模块版本号,orchardcms,Orchardcms,有时,我喜欢记录模块的版本号。如何以编程方式在代码中获取模块的版本号 与在控制器的构造函数中请求IORChardService的方式相同,您可以请求IExtensionManager。然后,使用带有module.txt id中指示的模块名称的GetExtension方法,它返回一个ExtensionDescriptor,该ExtensionDescriptor公开版本属性和其他有用属性 您可以在源代码中看到一个使用IExtensionManager的示例。如果需要从代码中的任何位置访问模块,则需
您可以在源代码中看到一个使用IExtensionManager的示例。如果需要从代码中的任何位置访问模块,则需要首先初始化ExtensionManager。为此,您需要当前的工作上下文。我就是这样做的
public class Extensioner
{
public IExtensionManager _manager { get; set; }
public Extensioner()
{
var httpContextAccessor = System.Web.Http.GlobalConfiguration.Configuration.DependencyResolver.GetService(
typeof(IHttpContextAccessor)) as IHttpContextAccessor;
var workContext = WorkContextExtensions.GetWorkContext(httpContextAccessor.Current().Request.RequestContext);
_manager = workContext.Resolve<IExtensionManager>();
}
public string getModuleVersion(string moduleName)
{
var _ver = "unknown";
if (_manager != null)
{
_ver = _manager.GetExtension(moduleName).Version;
}
return _ver;
}
}
给我指明道路的那一页:
还有一些理论: