为什么我的Visual Studio 2010自定义工具未找到?
问题描述:
我的自定义工具如下:为什么我的Visual Studio 2010自定义工具未找到?
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版本。
答
问题是,虽然我的自定义工具类本身被设置为ComVisible(true),但基类没有,因此Visual Studio没有正确加载它,因为你不能这样做。显然,整个类的层次必须是ComVisible(真)。