2016-11-14 1 views
0

J'ai créé un projet perspectives simple VSTO AddIn et je voulais juste avoir la fonctionnalité d'un bouton dans Outlook exécuterait un code VBA qui montrerait la fenêtre WPF,WPF fenêtre au sein du projet AddIn perspectives VSTO

quand je couru ce projet Com Addin, avec un WinForms il a montré le à partir de deux via le mode débogage via Visual Studio et en exécutant l'Outlook et en cliquant sur le bouton qui a couru le code VBA pour exécuter le com addin, cependant quand je l'ai changé en WPF Window ça marchait bien du studio visuel, je veux dire par là que j'ai couru le projet, il a exécuté les perspectives, puis j'ai sélectionné un email et cliqué sur le bouton, qui a exécuté le addin com et montré le formulaire WPF, mais dès que j'ai essayé cela en exécutant Outlook (sans l'environnement VS) par cette erreur encore et encore pas importe ce que j'ai essayé.

i ci-joint le projet outlookAddin et le code VBA dans le lien suivant:

https://www.dropbox.com/sh/sbd9upmxthrigha/AACjx2jfmVZKFcqwQfX6SjCJa?dl=0

si je remplace cette méthode dans le fichier existant TCMSCom.cs de la (Run WPF Form)

public string OpenConfirmationWizard() 
    { 

     // run WPF 

     TCMSWizard ui = new TCMSWizard(); 
     ui.ShowDialog(); 

     // run winforms 

     //UserControl1 ui = new UserControl1(); 
     //ui.ShowDialog(); 
     return string.Empty; 
    } 

à ce qu'il courra une winforms

public string OpenConfirmationWizard() 
    { 
     //TCMSWizard ui = new TCMSWizard(); 
     //ui.ShowDialog(); 

     UserControl1 ui = new UserControl1(); 
     ui.ShowDialog(); 
     return string.Empty; 
    } 

pile trace de la première exception dans la chaîne: à System.Windows.Window..ctor() à TCMSCOMAddIn.TCMSWizard..ctor() dans C: \ Utilisateurs \ eranm \ Documents \ TFS \ PI-HF_TCMSCOMAddIn \ Caractéristiques \ TCMSCOMAddIn_Phase1 \ TCMSCOMAddIn \ TCMSWizard.xaml.cs: ligne 23 à TCMSCOMAddIn.TCMSCom.OpenConfirmationWizard() dans C: \ Users \ eranm \ Documents \ TFS \ PI-HF_TCMSCOMAddIn \ Features \ TCMSCOMAddIn_Phase1 \ TCMSCOMAddIn \ TCMSCom.cs:

ligne 22

pile trace de la dernière exception de la chaîne: à System.Uri.CreateThis (String uri, Boolean dontEscape, UriKind uriKind) à MS.Internal.FontCache.Util..cctor()

la excepti ons messages en chaîne sont comme les suivantes:

"le type initialiseur pour 'system.windows.window' a lancé une exception"

« Le type initialiseur pour 'System.Windows.FrameworkElement' a lancé une exception. " "L'initialiseur de type pour 'System.Windows.Documents.TextElement' a lancé une exception." "L'initialiseur de type pour 'MS.Internal.FontCache.Util' a lancé une exception." "Invalid URI: Le format de l'URI n'a pas pu être déterminé."

Je vous serais reconnaissant de votre aide pour résoudre ce

merci beaucoup,

Eran

+0

Il serait vraiment utile si vous pouviez publier le 'StackTrace' et le' InnerException' de votre exception d'initialisation de type. – haindl

+0

Salut, j'ajoute la trace de la pile de la première et dernière exception et les messages de toutes les exceptions dans la chaîne. –

+0

Vérifiez la [réponse ici] (http://stackoverflow.com/questions/10094197/wpf-window-throws-typeinitializationexception-at-start-up/10094280#10094280) et vérifiez la clé de registre [mentionnée ici] (https: //connect.microsoft.com/VisualStudio/feedback/details/618027/uriformatexception-thrown-by-ms-internal-fontcache-util) par Microsoft. – haindl

Répondre

1

ok, Le bogue fixe,

la question est que la variable de chemin dans l'environnement dans le registre a été défini sur plus de 2048 caractères.