TortoiseSVN问题跟踪器插件已构建 - 但未实现

时间:2010-05-11 12:56:08

标签: plugins tortoisesvn salesforce jira

我已经阅读了有关如何在C#for TortoiseSVN中构建问题跟踪器插件的所有信息。 我这样做了,构建了一个集成到我的问题跟踪(SalesForce)的类库。

我不知道如何将它安装到TortoiseSVN本身。

我已经为解决方案创建了一个设置,我可以安装它(就像我在网上找到的JIRA解决方案)。

我不知道遗失了什么。

更新

我做了你写的,确保一切正确。 我没有得到提供程序的名称,但GUID和错误: alt text http://img339.imageshack.us/img339/8558/sfsvnerror.jpg

它能成为什么?

1 个答案:

答案 0 :(得分:0)

1)您需要确保在注册表中注册了正确的CLSID - 因此我的安装程序会插入以下(虚假)值:

(我认为应该相当于运行RegASM,详见issue-tracker-plugins.txt文件的底部。

Installer Registry Changes Image http://img291.imageshack.us/img291/1618/registryinstaller.png

应该能够导入此注册表文件以帮助您入门:

(您可能必须根据dll的安装位置动态更新CodeBase位置)

  

Windows注册表编辑器版本5.00

     

[HKEY_CLASSES_ROOT \ CLSID {AAAAAAAAAAAA-AAAAAAAA-AAAAAAAAAAAA}]   @ = “FogBugzPlugin.MyPlugin”

     

[HKEY_CLASSES_ROOT \ CLSID {AAAAAAAAAAAA-AAAAAAAA-AAAAAAAAAAAA} \实施   类别]

     

[HKEY_CLASSES_ROOT \ CLSID {AAAAAAAAAAAA-AAAAAAAA-AAAAAAAAAAAA} \实施   类别{3494FA92-B139-4730-9591-01135D5E7831}]

     

[HKEY_CLASSES_ROOT \ CLSID {AAAAAAAAAAAA-AAAAAAAA-AAAAAAAAAAAA} \实施   类别{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]

     

[HKEY_CLASSES_ROOT \ CLSID {AAAAAAAAAAAA-AAAAAAAA-AAAAAAAAAAAA} \ InprocServer32的]   @ = “MSCorEE.dll中”   “的ThreadingModel”= “两者”   “类”= “FogBugzPlugin.MyPlugin”   “装配”=“MyAssemblyName,   版本= 1.0.0.0,文化=中立,   公钥= 31286c9d1d5aa00a”   “RuntimeVersion”= “V2.0.50727”   “基本代码”=“的文件:/// C:/程序   文件/文件夹/ AAAAAAAAAAAAA / MyAssemblyName.dll“

     

[HKEY_CLASSES_ROOT \ CLSID {AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA} \ InprocServer32 \ 1.0.0.0]“Class”=“FogBugzPlugin.MyPlugin”   “装配”=“MyAssemblyName,   版本= 1.0.0.0,文化=中立,   公钥= 31286c9d1d5aa00a”   “RuntimeVersion”= “V2.0.50727”   “基本代码”=“的文件:/// C:/程序   文件/文件夹/ AAAAAAAAAAAAA / MyAssemblyName.dll“

     

[HKEY_CLASSES_ROOT \ CLSID {AAAAAAAAAAAA-AAAAAAAA-AAAAAAAAAAAA} \程序id]   @ = “FogBugzPlugin.MyPlugin”

2)您需要确保用户将BugTraq关联添加到注册表中:

[HKEY_CURRENT_USER \ Software \ TortoiseSVN \ BugTraq Associations \ 0] “提供者”= “{AAAAAAAAAAAA-AAAAAAAA-AAAAAAAAAAAA}” “WorkingCopy”= “C:\” “参数”= “”

(这也可以由用户通过转到TSVN - >设置 - > Hook Scripts - >问题跟踪器集成 - >添加

手动完成

其中“{AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAAA”}是您创建的提供商的GUID。

一切顺利,该插件现在应该可供用户使用。当他们打开提交对话框时。


更新

排除“提供商显示为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 PluginName:FogBugzPlugin.MyPlugin

转到注册表并查看注册表中的内容。它应该是:

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"

您还应该在HKCR下直接输入ProgID / CLSID:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\FogBugzPlugin.MyPlugin]
@="FogBugzPlugin.MyPlugin"

[HKEY_CLASSES_ROOT\FogBugzPlugin.MyPlugin\CLSID]
@="{0DA7E319-1DCE-4A94-65555B5B6CE5}"

希望这有帮助 - 我先检查最后一点。