为什么找不到我的Visual Studio 2010自定义工具?

时间:2012-04-11 01:22:27

标签: visual-studio customtool

我的自定义工具如下:

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抱怨找不到该工具。

我已经尝试启用ActivityLog for VS2010并对其进行了审核,在VS2010启动时找到并加载了该工具,但是,就好像它甚至不存在一样。

我在我的智慧结束时会感激任何帮助。

我已将VSIX设置为可安装到VS2010的Ultimate,Premium和Professional版本。在安装过程中,虽然我的机器上安装了VS2010 Premier版本,但它说它已经找到了Ultimate版本,并表示已经安装了它。

1 个答案:

答案 0 :(得分:0)

问题是,虽然我的自定义工具类本身设置为ComVisible(true),但基类不是,因此Visual Studio没有正确加载它,因为你不能这样做。类的整个层次必须是ComVisible(true),显然。