-1

VBスクリプトはワークフローからc#メソッドを呼び出していません。私は正しいことをしていますか?サーバーから同じコードをテストできます。

Option Explicit
Dim testwfhandler
Set testwfhandler= CreateObject("CoreComponentWorkflow.WorkflowHandler")
If Not testwfhandler Is Nothing Then    
Call testwfhandler.test()    
End If
Set testwfhandler= Nothing
4

3 に答える 3

3

私はここ数日、同様の問題に取り組んできました。

私は間違いなく登録に問題があります。

私の場合、次の場所にあるレガスムを使用してアセンブリを登録しました。

  • C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319

ワークフローエージェントは32ビットアプリケーションであるため、次の場所にあるregasm実行可能ファイルにアセンブリを登録しました。

  • C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319

そして魅力のように働いた

また、任意のCPUで動作するようにdllをビルドするようにしてください

于 2012-07-26T09:19:37.430 に答える
2

これは明らかに議会登録の問題です。RegAsm を「そのまま」使用しましたか、それとも RegAsm /codebase を使用しましたか?

とにかく、レジストリで「CoreComponentWorkflow.WorkflowHandler」を検索してください。大きな GUID を持つキーが見つかり、その下に一連の他のレジストリ キーがあるはずです。これらの 1 つは InProcServer32 と呼ばれ、その中に「Assembly」や「Codebase」などのいくつかの文字列値が含まれているはずです。

キーが見つかったら、値が正しいことを再確認してください。キーが見つからない場合は、アセンブリをもう一度登録してみてくださいRegAsm /codebase <path to your assembly>

于 2012-07-10T11:24:39.077 に答える
1

あなたのVBは問題ないようです。1) アセンブリを (RegAsm を使用して) 登録するか、GAC に配置します。2) コード内の ProgId を「CoreComponentWorkflow.WorkflowHandler」に設定します。ProgIds に関する詳細情報は次のとおりです: http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.progidattribute(v=vs.90).aspx

于 2012-07-10T10:11:25.560 に答える