Quantcast
Channel: Visual Studio Integrate forum
Viewing all articles
Browse latest Browse all 4410

A Addin object sample does not work

$
0
0

Following is a code sample of Addin I copied from MSDN and did some modifications to.

But it seems that it does not work properly.

1> DTE Add-in count before and after the  Update does not change

2> Guid of the added addin is all zeros

3> I get error: The parameter is incorrect, at code line: DTE.Solution.AddIns.Add

    Public Sub OnConnection(ByVal application As Object, ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, ByRef custom As Array) Implements IDTExtensibility2.OnConnection
        _applicationObject = CType(application, DTE2)
        _addInInstance = CType(addInInst, AddIn)
        Me.AddInExample(_applicationObject)
    End Sub
    Function BrowseFile() As String
        Dim OpenFileDialog1 As New OpenFileDialog
        OpenFileDialog1.Filter = "*.dll file (*.dll)|*.dll|All files (*.*)|*.*"
        OpenFileDialog1.FilterIndex = 1dialog
        OpenFileDialog1.RestoreDirectory = True
        If OpenFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
            'MsgBox(OpenFileDialog1.FileName)
            Return OpenFileDialog1.FileName
        End If
        Return ""
    End Function
    Sub AddInExample(ByVal DTE As DTE2)
        ' For this example to work correctly, there should be an add-in 
        ' available in the Visual Studio environment.
        ' Set object references.
        Dim addincoll As AddIns
        Dim addinobj As AddIn
        ' Register an add-in, check DTE Add-in count before and after the 
        ' Update.
        addincoll = DTE.AddIns
        MsgBox("AddIns collection parent name: " & addincoll.Parent.Name)
        MsgBox("Number of Add-ins: " & addincoll.Count)
        ' NOTE: Use regsvr32 for Visual C++, regasm for [Visual Basic 
        ' and Visual C#. Also, the pathname used below is an example only.
        'Shell("regasm F:\AddIns\RegExplore\Debug\regexplore.dll")
        'Shell("C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm e:\AddinTest1.dll")
        Shell("C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm " & BrowseFile())
        addincoll.Update()
        MsgBox("Number of Add-ins: " & addincoll.Count)
        addinobj = addincoll.Item(1)
        ' Connect the add-in if it is not already connected
        ' and list its SatelliteDLLPath and Guid.
        If addinobj.Connected = False Then
            addinobj.Connected = True
        End If
        MsgBox("Satellite DLL Path: " & addinobj.SatelliteDllPath)
        MsgBox("DLL GUID: " & addinobj.Guid)
        ' Activates a solution add-in so that it is available, then 
        'deactivates it.
        MsgBox(addinobj.ProgID)
        MsgBox(addinobj.Description)
        MsgBox(addinobj.Name)
        addinobj = DTE.Solution.AddIns.Add(addinobj.ProgID, addinobj.Description, addinobj.Name, False)
        DTE.Solution.AddIns.Item(1).Remove()
    End Sub


Viewing all articles
Browse latest Browse all 4410

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>