1)您需要确保您在注册表中注册了正确的clsid-因此我的安装程序插入以下(假)值:
(我认为这应该等同于在
issue-tracker-plugins.txt
文件。
Installer Registry Changes Image http://img291.imageshack.us/img291/1618/registryinstaller.png
你
应该
可以导入此注册表文件以启动:
(可能需要根据安装dll的位置动态更新基本代码位置)
Windows注册表编辑器5.00版
[hkey_classes_root\clsid_aaaa aaaa-aaaa-aaaaaa-aaaa-aaaaaaaaaa]
@=“FogBugzPlugin.MyPlugin”中
[hkey_classes_root\clsid_aaaa aaaa-aaaa-aaaaaa-aaaa-aaaaaaaaaa \已实现
类别
[hkey_classes_root\clsid_aaaa aaaa-aaaa-aaaaaa-aaaa-aaaaaaaaaa \已实现
类别3494FA92-B139-4730-9591-01135D5E7831]
[hkey_classes_root\clsid_aaaa aaaa-aaaa-aaaaaa-aaaa-aaaaaaaaaa \已实现
类别62C8FE65-4EBB-45E7-B440-6E39B2CDBF29]
[hkey_classes_root\clsid_aaaaaaaaaa-aaaa-aaaaaa-aaaaaaaaaa \inprocserver32]
@“Masyee,DLL”
“threadingModel”=“两者”
“class”=“FogBugzPlugin.MyPlugin”类
“assembly”=“我的程序集名称,
版本=1.0.0.0,文化=中性,
PublicKeyToken=31286C9D1D5AA00A“
“runtimeversion”=“2.0.50727版”
“codebase”=“文件:///c:/program
文件/文件夹/aaaaaaaaa/myassemblyname.dll“
[hkey_classes_root\clsid_aaaaaaaaa-aaaaa-aaaaa-aaaaaaaaa \inprocserver32\1.0.0.0]“class”=“fogBugzPlugin.myPlugin”
“assembly”=“我的程序集名称,
版本=1.0.0.0,文化=中性,
PublicKeyToken=31286C9D1D5AA00A“
“runtimeversion”=“2.0.50727版”
“codebase”=“文件:///c:/program
文件/文件夹/aaaaaaaaa/myassemblyname.dll“
[hkey_classes_root\clsid_aaaaaaaaa-aaaa-aaaaaa-aaaa aaaa aaaa \progid]
@=“FogBugzPlugin.MyPlugin”中
2)您需要确保用户获得添加到注册表的Bugtraq关联:
[hkey_current_user\software\toroissesvn\bugtraq associations\0]
“提供商”=“aaaa aaaa-aaaa-aaaa-aaaaaa-aaaa aaaa”
“WorkingCopy”=“C:\”
“参数”=“”
(用户也可以通过转到tsvn->设置->挂钩脚本->问题跟踪程序集成->添加手动完成此操作。
其中“aaaa aaaa-aaaa-aaaaaa-aaaaaa-aaaa aaaa”是您创建的提供程序的GUID。
一切正常,插件现在应该对用户可用。当他们打开提交对话框时。
更新:
正在排除上面显示的“provider show as guid”问题…
好啊。。。所以假设您的提供者guid是
{0DA7E319-1DCE-4A94-65555B5B6CE5}
您应该检查:
您的插件实现了ibugtraqprovider和ibugtraqprovider2,并应用了guid:
namespace FogBugzPlugin
{
[ComVisible(true),
Guid("0DA7E319-1DCE-4A94-65555B5B6CE5"),
ClassInterface(ClassInterfaceType.None)]
public class MyPlugin : IBugTraqProvider, IBugTraqProvider2
所以现在你应该有:
guid:0da7e319-1dce-4a94-65555b5b6ce5
插件名称:fogBugzPlugin.myPlugin
转到regedit查看注册表中的内容。它应该沿着以下路线:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{0DA7E319-1DCE-4A94-65555B5B6CE5}]
@="FogBugzPlugin.MyPlugin"
[HKEY_CLASSES_ROOT\CLSID\{0DA7E319-1DCE-4A94-65555B5B6CE5}\Implemented Categories]
[HKEY_CLASSES_ROOT\CLSID\{0DA7E319-1DCE-4A94-65555B5B6CE5}\Implemented Categories\{3494FA92-B139-4730-9591-01135D5E7831}]
[HKEY_CLASSES_ROOT\CLSID\{0DA7E319-1DCE-4A94-65555B5B6CE5}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
[HKEY_CLASSES_ROOT\CLSID\{0DA7E319-1DCE-4A94-65555B5B6CE5}\InprocServer32]
@="mscoree.dll"
"ThreadingModel"="Both"
"Class"="FogBugzPlugin.MyPlugin"
"Assembly"="FogBugz2Tortoise, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31286c9d1d5aa00a"
"RuntimeVersion"="v2.0.50727"
"CodeBase"="file:///C:/Program Files/folder/FogBugz2Tortoise/FogBugz2Tortoise.dll"
[HKEY_CLASSES_ROOT\CLSID\{0DA7E319-1DCE-4A94-65555B5B6CE5}\InprocServer32\1.0.0.0]
"Class"="FogBugzPlugin.MyPlugin"
"Assembly"="FogBugz2Tortoise, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31286c9d1d5aa00a"
"RuntimeVersion"="v2.0.50727"
"CodeBase"="file:///C:/Program Files/folder/FogBugz2Tortoise/FogBugz2Tortoise.dll"
[HKEY_CLASSES_ROOT\CLSID\{0DA7E319-1DCE-4A94-65555B5B6CE5}\ProgId]
@="FogBugzPlugin.MyPlugin"
您还应将progid/clsid条目直接放在HKCR下:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\FogBugzPlugin.MyPlugin]
@="FogBugzPlugin.MyPlugin"
[HKEY_CLASSES_ROOT\FogBugzPlugin.MyPlugin\CLSID]
@="{0DA7E319-1DCE-4A94-65555B5B6CE5}"
希望这有帮助-我先检查最后一点。