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. 您是否将文件夹添加到探测路径?但是,如果这是真的,你会得到一个错误,但这是一个想法。
于 2011-07-28T19:38:42.457 回答
0

我的解决方案可能会帮助签署程序集的人。我无法在 Petrel 中看到我的插件,也无法调试我的 VS 项目。

在过去两天头疼之后,我能够通过执行以下简单步骤来解决同样的问题:

  1. 转到您的 Visual Studio 项目属性。
  2. 转到“签名”选项卡。
  3. 如果选中,请取消选中“仅延迟符号”选项。
  4. 现在运行您的项目,它应该可以工作。我为我工作。
于 2012-07-05T09:18:42.557 回答