sharepoint中的功能版本控制

时间:2013-11-15 13:24:53

标签: sharepoint sharepoint-2010 sharepoint-feature


我已按照以下链接实施功能版本控制: http://sisharepoint.wordpress.com/2010/01/21/using-the-featureupgrading-event-to-upgrade-features-sharepoint-2010/

我是sharepoint的新手,要求是在我的网站中显示功能的版本。有可能吗?
我无法在网站的任何地方看到该版本。我可以在14 hive的feature文件夹中的feature.xml文件中看到相应的版本。只是想知道是否有可能在sharepoint网站上看​​到每个部署的版本?如果是,那么我在哪里可以看到它?

谢谢,
普里亚

2 个答案:

答案 0 :(得分:1)

在中央管理员或网站设置中无法看到此内容。重点是从用户中抽象出版本控制。用户只知道特定功能可用,而不是版本。我同意,实际上能够在不必编写自定义解决方案的情况下查看此信息会很棒。

答案 1 :(得分:1)

如果自定义解决方案符合您的要求,那么您可以尝试以下方法来查找激活的功能版本。

  1. 使用SPFarm.FeatureDefinitions
  2. 获取场中所有已激活的功能 -

    SPFeatureDefinitionCollection farmFeatures = SPFarm.Local.FeatureDefinitions;
    foreach (SPFeatureDefinition feature in farmFeatures)
    {
    ....
    }
    
    1. 查找特定功能的版本

      var spFarm = SPFarm.Local;
      System.Version version = spFarm.FeatureDefinitions["YourFeatureName"].Version;
      
    2. 使用SPContext.Current.SiteFeatures或SPContext.Current.Site.Features

      var siteFeatures= SPContext.Current.SiteFeatures;
      foreach (SPFeature sf in siteFeatures)
      

      {

      variable = sf.Definition.DisplayName;

      variable = sf.Definition.Version.ToString();
      }
      
    3. 4使用SPContext.Current.WebFeatures或SPContext.Current.Web.Features

      var webFeatures= SPContext.Current.WebFeatures;
      
      foreach (SPFeature webFtr in webFeatures)
      {
      variable= webFtr.Definition.DisplayName;
      variable= webFtr.Definition.Version.ToString();
      }
      

      希望这有帮助。