2011-08-11 15 views
0

私はアセンブリを作成し、Visual Studioのアドインのように:のVisual Studio 2010アドイン問題を

まず、アセンブリ

  • ファイル=>新規プロジェクト
  • 新しいクラスライブラリ

私は

に「Class1.csの」ファイルの内容を変更した後
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace ClassLibrary1 
{ 
    public class Class1 
    { 
     public void Test() 
     { 
      Console.WriteLine("Wohooo!"); 
     } 
    } 
} 

そして今、アドイン

  • ファイル=>新規プロジェクト
  • Visual Studioのアドインで
  • 私が変更した後ウィザード

クリックスルー"Connect.cs"ファイルの内容は次のようになります。

public class Connect : IDTExtensibility2, IDTCommandTarget 
{ 
... 
    public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom) 
    { 
    // Adding a button to thet tools menu 
// i can provide the source if needed 
    }   

    public void QueryStatus(string commandName, vsCommandStatusTextWanted neededText, ref vsCommandStatus status, ref object commandText) 
    { 
     if (neededText == vsCommandStatusTextWanted.vsCommandStatusTextWantedNone) 
     { 
      status = (vsCommandStatus)vsCommandStatus.vsCommandStatusSupported | 
        vsCommandStatus.vsCommandStatusEnabled; 
     } 
    } 

私がExecメソッドから新しいクラスを呼び出すと、何も起こりません。 (NOデバッグブレークポイントが起動しないGET)

public void Exec(string CmdName, vsCommandExecOption ExecuteOption, ref object VariantIn, ref object VariantOut, ref bool Handled) 
    { 
     Action action = GetAction(CmdName); 

     if (CmdName == "MyAddin2.Connect.SampleAddin2") 
     { 
      new ClassLibrary1.Class1().Test();    
      Console.WriteLine(""); 
     } 

     Handled = true; 
    } 

がない場合は、それが動作します!

public void Exec(string CmdName, vsCommandExecOption ExecuteOption, ref object VariantIn, ref object VariantOut, ref bool Handled) 
    { 
     Action action = GetAction(CmdName); 

     if (CmdName == "MyAddin2.Connect.SampleAddin2") 
     { 
      // new ClassLibrary1.Class1().Test();    
      Console.WriteLine(""); 
     } 

     Handled = true; 
    } 

なぜですか?何が問題ですか ?

ありがとうございます!

答えて

0

"For - Testing"アドインファイルでAssemblyタグを確認してください。
ポイントしているフォルダとそのフォルダに「ClassLibrary1.dll」が含まれているかどうかを確認します。私は同じ(または同一の)問題hereを持っていました。

関連する問題