0

TortoiseSVN 用に C# で課題トラッカー プラグインを作成する方法に関するすべての情報を読みました。私はそれを行い、問題追跡 (SalesForce) に統合されたクラス ライブラリを構築しました。

TortoiseSVN自体にインストールする方法がわかりません。

ソリューションのセットアップを作成し、インストールできます (オンラインで見つけた JIRA ソリューションのように)。

何が欠けているのかわからない。

アップデート:

私はあなたが書いたことを行い、すべてが正しいことを確認しました。プロバイダーの名前はわかりませんが、GUID とエラー: 代替テキスト http://img339.imageshack.us/img339/8558/sfsvnerror.jpg

それは何でしょうか?

4

1 に答える 1

0

1) レジストリに正しい CLSID が登録されていることを確認する必要があります。そのため、インストーラーは次の (偽の) 値を挿入します。

(これは、 issue-tracker-plugins.txtファイルの下部に詳述されているように、RegASM を実行することと同等であると思います。

インストーラー レジストリの変更画像 http://img291.imageshack.us/img291/1618/registryinstaller.png

開始するには、このレジストリ ファイルをインポートできるはずです。

(おそらく、dll がインストールされている場所に基づいて、CodeBase の場所を動的に更新する必要があります)

Windows レジストリ エディタ バージョン 5.00

[HKEY_CLASSES_ROOT\CLSID{AAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}] @="FogBugzPlugin.MyPlugin"

[HKEY_CLASSES_ROOT\CLSID{AAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}\実装カテゴリ]

[HKEY_CLASSES_ROOT\CLSID{AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}\実装カテゴリ{3494FA92-B139-4730-9591-01135D5E7831}]

[HKEY_CLASSES_ROOT\CLSID{AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}\実装カテゴリ{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]

[HKEY_CLASSES_ROOT\CLSID{AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}\InprocServer32] @="mscoree.dll" "ThreadingModel"="Both" "Class"="FogBugzPlugin.MyPlugin" "Assembly"="MyAssemblyName, Version= 1.0.0.0、カルチャ = ニュートラル、PublicKeyToken = 31286c9d1d5aa00a" "RuntimeVersion"="v2.0.50727" "CodeBase"="file:///C:/Program Files/folder/AAAAAAAAAAAAA/MyAssemblyName.dll"

[HKEY_CLASSES_ROOT\CLSID{AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}\InprocServer32\1.0.0.0] "Class"="FogBugzPlugin.MyPlugin" "Assembly"="MyAssemblyName, Version=1.0.0.0, Culture=neutral, PublicKeyToken= 31286c9d1d5aa00a" "RuntimeVersion"="v2.0.50727" "CodeBase"="file:///C:/Program Files/folder/AAAAAAAAAAAAA/MyAssemblyName.dll"

[HKEY_CLASSES_ROOT\CLSID{AAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}\ProgId] @="FogBugzPlugin.MyPlugin"

2) ユーザーが BugTraq 関連付けをレジストリに追加されていることを確認する必要があります。

[HKEY_CURRENT_USER\Software\TortoiseSVN\BugTraq Associations\0] "プロバイダー"="{AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}" "WorkingCopy"="c:\" "パラメーター"=""

(これは、TSVN -> 設定 -> フック スクリプト -> 課題トラッカー統合 -> 追加に移動して、ユーザーが手動で行うこともできます。

"{AAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}" は、作成したプロバイダーの 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

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"

また、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}"

これが役立つことを願っています-最初に最後のポイントを確認します.

于 2010-05-11T14:28:57.207 に答える