Frage

Wenn ich einen Verweis auf mein Projekt hinzuzufügen, möchte ich in der Regel spezifische Version = FALSCH verwenden. Dies liegt daran, unsere automatisierten Build die Versionsnummer festgelegt werden. Ich sehe das Standardverhalten sein TRUE ist.

Gibt es eine Möglichkeit, dies zu ändern? Zählen auf manuell diesen Wert zu ändern ist fehleranfällig (und ich am Ende bricht die Build).

War es hilfreich?

Lösung

Es gibt keine Möglichkeit, den Standard zu ändern. Wenn Sie TFS verwenden könnten Sie wahrscheinlich eine Check-in-Regel anwenden, aber ich bin nicht sicher, ob ein Check-in-Regel kann auf eine CSPROJ oder SLN-Datei angewendet werden.

Andere Tipps

Erstellen AddIn-Projekt, und versuchen Sie es:

Imports Extensibility
Imports EnvDTE
Imports EnvDTE80
Imports VSLangProj
Imports VSLangProj80

Public Class Connect

    Implements IDTExtensibility2

    Private _app As DTE2
    Private WithEvents _RefEvents As ReferencesEvents

    '''<summary>Implements the constructor for the Add-in object. Place your initialization code within this method.</summary>
    Public Sub New()
    End Sub

    '''<summary>Implements the OnConnection method of the IDTExtensibility2 interface. Receives notification that the Add-in is being loaded.</summary>
    '''<param name='application'>Root object of the host application.</param>
    '''<param name='connectMode'>Describes how the Add-in is being loaded.</param>
    '''<param name='addInInst'>Object representing this Add-in.</param>
    '''<remarks></remarks>
    Public Sub OnConnection(ByVal application As Object, ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, ByRef custom As Array) Implements IDTExtensibility2.OnConnection
        _app = CType(application, DTE2)
        _RefEvents = CType(_app.Events.GetObject("VBReferencesEvents"), ReferencesEvents)
    End Sub

    '''<summary>Implements the OnDisconnection method of the IDTExtensibility2 interface. Receives notification that the Add-in is being unloaded.</summary>
    '''<param name='disconnectMode'>Describes how the Add-in is being unloaded.</param>
    '''<param name='custom'>Array of parameters that are host application specific.</param>
    '''<remarks></remarks>
    Public Sub OnDisconnection(ByVal disconnectMode As ext_DisconnectMode, ByRef custom As Array) Implements IDTExtensibility2.OnDisconnection
    End Sub

    '''<summary>Implements the OnAddInsUpdate method of the IDTExtensibility2 interface. Receives notification that the collection of Add-ins has changed.</summary>
    '''<param name='custom'>Array of parameters that are host application specific.</param>
    '''<remarks></remarks>
    Public Sub OnAddInsUpdate(ByRef custom As Array) Implements IDTExtensibility2.OnAddInsUpdate
    End Sub

    '''<summary>Implements the OnStartupComplete method of the IDTExtensibility2 interface. Receives notification that the host application has completed loading.</summary>
    '''<param name='custom'>Array of parameters that are host application specific.</param>
    '''<remarks></remarks>
    Public Sub OnStartupComplete(ByRef custom As Array) Implements IDTExtensibility2.OnStartupComplete
    End Sub

    '''<summary>Implements the OnBeginShutdown method of the IDTExtensibility2 interface. Receives notification that the host application is being unloaded.</summary>
    '''<param name='custom'>Array of parameters that are host application specific.</param>
    '''<remarks></remarks>
    Public Sub OnBeginShutdown(ByRef custom As Array) Implements IDTExtensibility2.OnBeginShutdown
    End Sub

    Private Sub _RefEvents_ReferenceAdded(ByVal pReference As Reference) Handles _RefEvents.ReferenceAdded
        If pReference.Version <> "0.0.0.0" Then
            CType(pReference, Reference3).SpecificVersion = True
        End If
    End Sub
End Class

Ich würde sagen, Sie nicht die Assembly-Version mit jedem Build ändern sollten. Sie sollten die Dateiversion zu diesem Zweck verwendet werden.

Suzanne Cooke hat einen schönen Posten Blog es im Detail zu erklären, aber diese Zusammenfassung ist, dass die Dateiversion einer Baugruppe muss nicht das gleiche sein, als die Assemblierung-Version und für Builds müssen Sie auf die Dateiversion die ganze Zeit und nicht die Assemblierung-Version.

Suzanne Cook Blog-Post

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top