2016-10-11 18 views
0

UI用のVisual Studioアドインを作成しようとしています。モデルビューのViewModelパターンをPrismライブラリを使用して実装することにしました。あなたがスタンドアロンのプロジェクトを始める間、それはうまく動作します。 Add-Inプロジェクトに挿入した後、例外が発生します。 "ファイルまたはアセンブリ" Prism.Wpf、PublicKeyToken = 91a96d2a154366d8 "またはその依存関係の1つが見つかりません。"Visual Studio C#アドイン、WPFプリズムMVVM

すべてのリファレンスが更新され、すべてが1つのプロジェクトにまとめられています。 Connect.csで

enter image description here

私は単純にメインウィンドウが出てくるしたいです。

public void Exec(string commandName, vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool handled) 
    { 
     handled = false; 
     if(executeOption == vsCommandExecOption.vsCommandExecOptionDoDefault) 
     { 
      if(commandName == "SynopticGeneratorAddIn.Connect.SynopticGeneratorAddIn") 
      { 
       handled = true; 
       ShowMainWindow(); 
       return; 
      } 
     } 
    } 

    private void ShowMainWindow() 
    { 
     AutomaticSynopticGenerationCore.Views.MainWindow mainWindow = new AutomaticSynopticGenerationCore.Views.MainWindow(); 
     mainWindow.Show(); 
    } 
+1

1)バインダーがプリズムアセンブリ3)を探している融合ロギング2)上のターンがなぜそれがない、または、なぜそれがfuslogvw-をとに – Will

+0

おかげで見ているバインダーではありません@問題を特定することはできますか?なぜなら、アドインをデバッグするとき、Visual Studioは自分自身の新しいインスタンスを実行し、いつものようにbin \ Debugディレクトリから開始しないからです。それは../Common7/IDEディレクトリからアセンブリをバインドしようとします。これはすべての私のアセンブリに起こります。プリズムアセンブリは、最初に例外がスローされます。だから私はどのように私のディレクトリからassamblysをロードするアドインを強制的にすることができますか? –

+0

これは良い質問です。私はaddinsのためにどのように動作するのか分からないが、適切な解決策のいくつかの種類があるはずです。がんばろう。 – Will

答えて

0

誰も回答を得ていないので、私はどのようにしたのかを教えてください。私はそれをVSPackageとして書き直しました。なぜなら、アドインは時代遅れとみなされるからです。それは助けになりませんでした。また、すべてのパッケージを更新しても何もしませんでした。 ウィンドウのインスタンスが作成される前にPrismを使用することでした。それは醜い回避策なので、何か良いことがあれば教えてください。

/// <summary> 
    /// This function is the callback used to execute a command when the a menu item is clicked. 
    /// See the Initialize method to see how the menu item is associated to this function using 
    /// the OleMenuCommandService service and the MenuCommand class. 
    /// </summary> 
    private void MenuItemCallback(object sender, EventArgs e) 
    {   
     LoadPrism(); 
     AutomaticSynopticGenerationCore.Views.MainWindow mainWindow = new AutomaticSynopticGenerationCore.Views.MainWindow(); 
     mainWindow.Show(); 
    } 

    /// <summary> 
    /// Loads Prism from own attached Assembly before window instance gets created 
    /// </summary> 
    static void LoadPrism() 
    {    
     typeof(Prism.Bootstrapper).ToString(); 
    } 
関連する問題