none
COMException Ungültige Versionsnummer RRS feed

  • Frage

  • Hallo,

    ich programmiere ein AddIn für Word 2010 in VB mit VS2010.

    Ich habe ein Problem mit folgendem Code (Ausschnitt):

    Imports Office = Microsoft.Office.Core
    Imports Word = Microsoft.Office.Interop.Word    
    
    sub test()
      Dim myApp As Word.Application = Globals.ThisAddIn.Application
      Dim myDoc As Word.Document = myApp.ActiveDocument
      Dim myCustomXMLParts As CustomXMLParts = myDoc.CustomXMLParts
      myCustomXMLParts.Add(My.Resources.XMLBase)
    end sub
    

    My.Resources.XMLBase enthält folgenden String: "<?xml version=""1.0"" encoding=""utf-8"" ?><Alkemper><thisDocument /></Alkemper>"

    In der vorletzten Zeile ("myCustomXMLParts.Add(My...)" erhalte ich beim Debuggen folgenden Fehlercode: "COMException wurde nicht vom Benutzercode behandelt" Fehler: "Ungültige Versionsnummer".

    Ich weiß jetzt nicht, ob der Fehler aus dem Code heraus entsteht. Eine Versionsnummer kommt hier nicht vor. Eher vermute ich einen Fehler in den Verweisen.

    Erschwerend kommt hinzu, dass sich im Vorfeld dieses Fehlers die Benutzeranmeldung an meinem Computer geändert hat. Das Netzwerk wurde modernisiert. Der Server 2008 wurde neu aufgesetzt als Server 2008R2 und auch der Dömänenname wurde verändert. Außerdem wurde Office 2007 durch Office 2010 ersetzt.

    Die Imports verweisen auf die Verweispfade
    C:\Program Files\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office14\Microsoft.Office.Interop.Word.dll
    und
    C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Office14\Office.dll

    Was könnte schiefgelaufen sein und wie kann ich es richten?

    Viele Grüße

    Volker

    Dienstag, 24. August 2010 21:59

Antworten

  • Hallo Volker,

    Ich habe ein Problem mit folgendem Code (Ausschnitt):

    Imports Office = Microsoft.Office.Core
    Imports Word = Microsoft.Office.Interop.Word  
    
    sub test()
     Dim myApp As Word.Application = Globals.ThisAddIn.Application
     Dim myDoc As Word.Document = myApp.ActiveDocument
     Dim myCustomXMLParts As CustomXMLParts = myDoc.CustomXMLParts
     myCustomXMLParts.Add(My.Resources.XMLBase)
    end sub
     

    My.Resources.XMLBase enthält folgenden String: "<?xml version=""1.0"" encoding=""utf-8"" ?><Alkemper><thisDocument /></Alkemper>"

    In der vorletzten Zeile ("myCustomXMLParts.Add(My...)" erhalte ich beim Debuggen folgenden Fehlercode: "COMException wurde nicht vom Benutzercode behandelt" Fehler: "Ungültige Versionsnummer".

    steht es wirklich mit doppelten Anführungszeichen in Deinen Ressourcen? Dann solltest Du diese doppelten entfernen:

    <?xml version="1.0" encoding="utf-8" ?><Alkemper><thisDocument /></Alkemper>
    


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    Mittwoch, 25. August 2010 06:41

Alle Antworten

  • Hallo Volker,

    Ich habe ein Problem mit folgendem Code (Ausschnitt):

    Imports Office = Microsoft.Office.Core
    Imports Word = Microsoft.Office.Interop.Word  
    
    sub test()
     Dim myApp As Word.Application = Globals.ThisAddIn.Application
     Dim myDoc As Word.Document = myApp.ActiveDocument
     Dim myCustomXMLParts As CustomXMLParts = myDoc.CustomXMLParts
     myCustomXMLParts.Add(My.Resources.XMLBase)
    end sub
     

    My.Resources.XMLBase enthält folgenden String: "<?xml version=""1.0"" encoding=""utf-8"" ?><Alkemper><thisDocument /></Alkemper>"

    In der vorletzten Zeile ("myCustomXMLParts.Add(My...)" erhalte ich beim Debuggen folgenden Fehlercode: "COMException wurde nicht vom Benutzercode behandelt" Fehler: "Ungültige Versionsnummer".

    steht es wirklich mit doppelten Anführungszeichen in Deinen Ressourcen? Dann solltest Du diese doppelten entfernen:

    <?xml version="1.0" encoding="utf-8" ?><Alkemper><thisDocument /></Alkemper>
    


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    Mittwoch, 25. August 2010 06:41
  • Lieber Thorsten,

    das war es natürlich! Der Code läuft einwandfrei durch. Zuvor hatte ich den String in einer Variablen, und ich war überzeugt, dass er vor der Benutzeränderung auch funktioniert hätte, aber das kann dann wohl nicht sein.

    Herzlichen Dank

    Volker Alkemper

    Mittwoch, 25. August 2010 17:00