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 版本。在安装过程中,它说它找到了 Ultimate 版并说它已经安装了它,即使我的机器上有 VS2010 Premier 版。

4

1 回答 1

0

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

于 2012-04-11T01:29:38.740 回答