0

私のカスタムツールは次のとおりです。

Class: FooBar.Blah.Tools.DataContextClassGenerator
Assembly: FooBar.Blah.Tools.DataContextClassGenerator
Project: FooBar.Blah.Tools.DataContextClassGenerator

GeneratePkgDef を true に設定してプロジェクト ファイル内から有効にした CreatePkgDef タスクは、ビルド出力に次の pkgdef ファイルを作成します。

[$RootKey$\Generators\{FAE04EC1-301F-11D3-BF4B-00C04F79EFBC}\DataContextClassGenerator]
@="Foo Bar DataContext Class Generator"
"CLSID"="{2155fcee-7012-400b-a6b3-5d8d0e34de6c}"
"GeneratesDesignTimeSource"=dword:00000001
"GeneratesSharedDesignTimeSource"=dword:00000000
[$RootKey$\Generators\{164B10B9-B200-11D0-8C61-00A0C91E29D5}\DataContextClassGenerator]
@="Foo Bar DataContext Class Generator"
"CLSID"="{2155fcee-7012-400b-a6b3-5d8d0e34de6c}"
"GeneratesDesignTimeSource"=dword:00000001
"GeneratesSharedDesignTimeSource"=dword:00000000
[$RootKey$\CLSID\{2155fcee-7012-400b-a6b3-5d8d0e34de6c}]
@="FooBar.Blah.Tools.DataContextClassGenerator"
"InprocServer32"="$WinDir$\SYSTEM32\MSCOREE.DLL"
"Class"="FooBar.Blah.Tools.DataContextClassGenerator"
"CodeBase"="$PackageFolder$\FooBar.Blah.Tools.DataContextClassGenerator.dll"
"ThreadingModel"="Both"

VSIX 拡張機能をインストールすると、10.0_Config キーの下に適切なキーが表示されます。それでも、DataContextClassGenerator をカスタム ツールとして設定すると、VS2010 はツールが見つからないと文句を言います。

VS2010 の ActivityLog を有効にして確認しましたが、VS2010 の起動時にツールが見つかり、読み込まれますが、存在しないかのようです。

私は機知に富んでおり、どんな助けにも感謝します。

VSIX を VS2010 の Ultimate、Premium、および Professional エディションにインストールできるように設定しました。インストール中に、自分のマシンに VS2010 Premier エディションがインストールされているにもかかわらず、Ultimate エディションが見つかり、インストールされたと表示されます。

4

1 に答える 1

0

問題は、カスタム ツール クラス自体が ComVisible(true) に設定されているのに、基本クラスが設定されていなかったため、Visual Studio がそれを正しく読み込めなかったことです。どうやら、クラスの階層全体が ComVisible(true) でなければなりません。

于 2012-04-11T01:29:38.740 に答える