vb.net - 从另一个项目引用 NServiceBus 程序集时出现 "Reference required"错误

标签 vb.net assemblies nservicebus

我们正在尝试编写一个在 VB.NET 环境中使用 NServiceBus 库的应用程序。我们一直被类似于以下的错误所困扰:

Reference required to assembly 'NServiceBus, Version=2.0.0.1071, Culture=neutral, PublicKeyToken=9fc386479f8a226c' containing the implemented interface 'NServiceBus.IMessageHandler`1'. Add one to your project.



我们的项目已经包含对来自同一 NServiceBus 2.0 RC2 发行版的 NServiceBus.dll 和 NServiceBus.Core.dll 的引用。

重现步骤:
  • 创建一个新的 VB 类库项目 (.NET 3.5)
  • 添加 NServiceBus.dll 和 NServiceBus.Core.dll 作为引用。
  • 将以下代码放入 Class1.vb:
    Imports NServiceBus.Sagas.Impl
    Class Test
        Public Function Foo() As SagaMessageHandler
            Return Nothing
        End Function
    End Class
    
  • 您现在应该看到上面提到的编译器错误。

  • 用 C# 编写的相同项目没有编译错误。

    关于如何解决这个问题的任何想法? (而且,是的,我的首选解决方案是切换到 C#,但不,目前这不是可接受的解决方案。)

    最佳答案

    我预感这是一个与 ILMerge 相关的问题,我发现了 this post suggesting that assembly signing might be responsible .

    我下载了 NServiceBus 主干源,打开 src/core/NServiceBus.sln,并设置解决方案中的每个项目以从源树根目录使用 NServiceBus.snk 对程序集进行签名。重建 NServiceBus 后生成的新 DLLS 修复了我原来帖子中的编译器错误。

    关于vb.net - 从另一个项目引用 NServiceBus 程序集时出现 "Reference required"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2193625/

    相关文章:

    testing - NServiceBus Saga 单元测试的依赖注入(inject)

    msmq - 带有大型 XML 消息的 nServiceBus

    c# - 编辑队列中的 MSMQ 消息

    vb.net - vb.net 中的形状控制

    c# - 将 .Net Remoting 从 Framework 2 迁移到 4 的问题

    c# - 是否可以在运行时将 System.Data.SqlServerCe 4.0.0.0 与版本 4.0.0.1 交换?

    c# - 在运行时加载引用调用程序集的程序集

    SQL - 添加/禁用基于 Select 语句中的 bool 条件的 Where 子句 (ASP.net SQLDataSource)

    vb.net - asp.net vb 网站循环遍历数据库行

    visual-studio - 如何重新编译 Google Drive API sdk?