为什么我看不到我的海洋插件

时间:2011-07-28 19:03:06

标签: ocean petrel

我试图弄清楚为什么我的模块没有加载,但我没有看到任何明显的错误消息。 这是一个非常基本的设置(没什么特别的) 这是我的模块定义:

 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加载好了,我没有收到任何错误信息,但我没有在插件文件夹下看到我的进程,有什么想法吗?

由于

2 个答案:

答案 0 :(得分:2)

  1. 您确定修改了正确的petrel.exe.config
  2. 您是否将文件夹添加到探测路径?如果这是真的,你会得到一个错误,但是一个想法。

答案 1 :(得分:0)

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

在过去两天经过多次努力之后,我通过以下简单步骤解决了同样的问题:

  1. 转到Visual Studio项目属性。
  2. 转到“签名”标签。
  3. 如果选中,则取消选中“仅限延迟签名”选项。
  4. 现在运行你的项目,它应该工作。我为我工作过。