2016-11-14 1 views
0

Ich habe ein Visual Studio 2013 VSTO-Word-Add-In-Projekt, das normal funktioniert, wenn es nicht im Visual Studio ausgeführt wird. Aber wenn ich es installiere und eine bestimmte Funktion führe, wird ein Fehler erzeugt. Ich fügte den Versuch ein, zu fangen, weil Word so schien, den Fehler zu unterdrücken, und ging ruhig offenbar fein (obwohl es nicht tat).Word 2016 VSTO Com-Add-In-Fehler: Objektreferenz wurde nicht auf eine Objektinstanz festgelegt

Mit meinem Verstand mit diesem Ende. Ich verstehe nicht, warum es von Visual Studio korrekt ausgeführt wird, aber nicht wie installiert. Andere zuvor geschriebene Funktionen scheinen gut zu funktionieren.

Objektverweis nicht auf eine Instanz eines Objekts festgelegt. bei FrRibbon.Support.AppStats.WriteRibbonUsage (String Subapplikation, String featureInvoked, String Initialen)

Imports System.Configuration 
Imports System.Data 
Imports System.Data.SqlClient 

Namespace Support 

Public Module AppStats 

    Public Sub WriteRibbonUsage(subApplication As String, featureInvoked As String, initials As String) 

     Try 
      Using connection As New SqlConnection(ConfigurationManager.ConnectionStrings("FRAppStatsConnectionString").ConnectionString) 
       Using command As New SqlCommand("InsertRibbonUsage", connection) 
        command.CommandType = CommandType.StoredProcedure 
        command.Parameters.Add(New SqlParameter("subApplication", subApplication)) 
        command.Parameters.Add(New SqlParameter("featureInvoked", featureInvoked)) 
        command.Parameters.Add(New SqlParameter("initials", initials)) 
        connection.Open() 
        command.ExecuteNonQuery() 
       End Using 
      End Using 

     Catch ex As Exception 
      Globals.ThisAddIn.Application.ActiveDocument.Range.Text = String.Concat(ex.Message, vbCrLf, ex.StackTrace, vbCrLf, ex.Source, vbCrLf, ex.InnerException) 
     End Try 

    End Sub 

End Module 
End Namespace 

Private Sub btnRemoveHyperlinks_Click(sender As Object, e As RibbonControlEventArgs) Handles btnRemoveHyperlinks.Click 

    Support.AppStats.WriteRibbonUsage("Super Macro", "Remove Hyperlinks", Helpers.GetUserName()) 

    If Not Globals.ThisAddIn.CustomTaskPanes.Any(Function(c) c.Title = "Remove Hyperlinks") Then 
     RemoveHyperlinksTaskPane = New CustomPane(RemoveHyperlinksControl, "Remove Hyperlinks", "removeHyperlinks", RemoveHyperlinksWindowList) 
     RemoveHyperlinksTaskPane.Visibility(True, "right", 425) 
     RemoveHyperlinksControl.PopulateHyperLinkListBox() 
    Else 
     RemoveHyperlinksTaskPane.Visibility(True, "right", 425) 
     RemoveHyperlinksControl.PopulateHyperLinkListBox() 
    End If 

End Sub 
+0

Nein, Sie erhalten den Fehler bei der Funktionsdeklaration nicht. Wahrscheinlicher, wo Sie diese Methode verwenden, aber Sie zeigen nicht, dass – Plutonix

+0

@Plutonix, was ex.StackTrace zurückgegeben wurde, nicht, was ich geschrieben habe. – Steve

Antwort

0

Es war nicht, bis ich die Verbindungszeichenfolge in den Anwendungseinstellungen hinzugefügt, und verwiesen als: My.Settings. MyConnectionStringName, hat es funktioniert. Ich hatte es zuvor nur manuell im Abschnitt ConnectionStrings von app.config hinzugefügt.

Ich vermute, das hat etwas mit dem app.config zu tun, wie VSTOAddinName.dll.config kompiliert wird, was erklären könnte, warum es in Visual Studio funktioniert aber nicht, wenn installiert.

Verwandte Themen