Compartilhar via


SPFeature.Version property

Obtém a versão atual do recurso.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaração
Public Property Version As Version
    Get
    Friend Set
'Uso
Dim instance As SPFeature
Dim value As Version

value = instance.Version
public Version Version { get; internal set; }

Property value

Type: System.Version
A versão do recurso.

Comentários

O valor dessa propriedade pode ser diferente do valor da propriedade Version da definição do recurso subjacente. Por exemplo, você pode implantar um recurso que usa uma definição de recurso com um número de versão igual a 1. Nesse ponto, a instância de recurso e a definição de recurso têm o mesmo número de versão. Suponha que, posteriormente, você modificar a definição de recurso e reimplantá-lo com um número de versão 2. Agora, a definição de recurso é versão 2, mas a instância do recurso permanece versão 1. A discrepância indica que a instância de recurso precisa ser atualizado. Você precisa executar o código de atualização do recurso para alterar a versão da instância do recurso de 1 para 2.

Examples

O exemplo a seguir obtém uma coleção de toda a farm que contém todas as instâncias de um recurso que precisam ser atualizados. Em seguida, o código itera através da coleção e atualiza o recurso.

//  Represent the ID of the Feature we want to upgrade.
Guid featureId = new Guid("1B006A62-7B92-475c-A2E5-A1CF03EE0887");

//  Get the default Web service in the farm.
SPWebService webService = SPFarm.Local.Services.GetValue<SPWebService>("");

//  Get all Feature instances with the specified ID that require upgrade.
SPFeatureQueryResultCollection features = webService.QueryFeatures(featureId, true);

//  Get a Features enumerator.
IEnumerator<SPFeature> featureEnumerator = features.GetEnumerator();

while (featureEnumerator.MoveNext())
{
    //  Get current Feature.
    SPFeature feature = featureEnumerator.Current;

    //  Upgrade the current Feature.
    Console.WriteLine("Upgrading Feature {0} with ID {1}.", 
                      feature.Definition.DisplayName, feature.DefinitionId);
    Console.WriteLine("Feature Version Before Upgrade: {0}", feature.Version);
    feature.Upgrade(false);
    Console.WriteLine("Feature Version After Upgrade: {0}", feature.Version);
}
'  Represent the ID of the Feature we want to upgrade.
Dim featureId As New Guid("1B006A62-7B92-475c-A2E5-A1CF03EE0887")

'  Get the default Web service in the farm.
Dim webService As SPWebService = SPFarm.Local.Services.GetValue(Of SPWebService)("")

'  Get all Feature instances with the specified ID that require upgrade.
Dim features As SPFeatureQueryResultCollection = webService.QueryFeatures(featureId, True)

'  Get a Features enumerator.
Dim featureEnumerator As IEnumerator(Of SPFeature) = features.GetEnumerator()

Do While featureEnumerator.MoveNext()
    '  Get current Feature.
    Dim feature As SPFeature = featureEnumerator.Current

    '  Upgrade the current Feature.
    Console.WriteLine("Upgrading Feature {0} with ID {1}.", feature.Definition.DisplayName, feature.DefinitionId)
    Console.WriteLine("Feature Version Before Upgrade: {0}", feature.Version)
    feature.Upgrade(False)
    Console.WriteLine("Feature Version After Upgrade: {0}", feature.Version)
Loop

Ver também

Referência

SPFeature class

SPFeature members

Microsoft.SharePoint namespace

Definition

Version