2

モジュールがロードされない理由を突き止めようとしていますが、明確なエラー メッセージが表示されません。これは非常に基本的なセットアップです (まだ派手なものはありません) ここに私のモジュール定義があります:

 public class MyModule : IModule
 {
    public void Disintegrate()
    {
    }

    public void Initialize()
    {
        CoreLogger.Info("Starting my module ");
    }

    public void Integrate()
    {
        // Register MyModuleProcess
        MyModuleProcess mymoduleprocessInstance = new MyModuleProcess();
        PetrelSystem.ProcessDiagram.Add(mymoduleprocessInstance , "Plug-ins");

    }

    public void IntegratePresentation()
    {

    }

    public void Dispose()
    {

    }
}

また、私のプロセスも非常に簡単です。

  class MyModuleProcess: Process
{
    /// <summary>
    /// Constructor.
    /// </summary>
    public MyModuleProcess() : base("MyModuleProcess")
    {
    }

    #region Process overrides

    /// <summary>
    /// Creates the UI of the process.
    /// </summary>
    /// <returns>the UI contol</returns>
    protected override System.Windows.Forms.Control CreateUICore()
    {
        return new MyModuleProcessUI(this);
    }

    /// <summary>
    /// Runs when the process is activated in Petrel.
    /// </summary>
    protected override sealed void OnActivateCore()
    {
        base.OnActivateCore();
    }
    /// <summary>
    /// Runs when the process is deactivated in Petrel.
    /// </summary>
    protected override sealed void OnDeactivateCore()
    {
        base.OnDeactivateCore();
    }

    #endregion
}

私の設定ファイルのエントリは次のとおりです。

<add moduleType="MyModulePlugin.MyModule, MyModulePlugin,Version=1.0.0.0,Culture=neutral, PublicKeyToken=xxxxxxxxxxx"/>

Petrel は問題なくロードされます。エラー メッセージは表示されませんが、プラグイン フォルダの下にプロセスが表示されません。何かアイデアはありますか?

ありがとう

4

2 に答える 2

2
  1. 正しい petrel.exe.config を変更しましたか?
  2. フォルダーをプローブ パスに追加しましたか? ただし、これが true の場合はエラーが発生しますが、アイデアです。
于 2011-07-28T19:38:42.457 に答える
0

私の解決策は、アセンブリに署名した人々を助けるかもしれません。Petrel でプラグインを確認することも、VS プロジェクトをデバッグすることもできませんでした。

過去 2 日間、頭を悩ませた後、次の簡単な手順を実行することで同じ問題を解決できました。

  1. Visual Studio プロジェクトのプロパティに移動します。
  2. 「署名」タブに移動します。
  3. 「Delay sign only」オプションがチェックされている場合は、チェックを外します。
  4. プロジェクトを実行すると、動作するはずです。私は私のために働きました。
于 2012-07-05T09:18:42.557 に答える