Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net &引用;所需参考资料“;从其他项目引用NServiceBus程序集时出错_Vb.net_Assemblies_Nservicebus - Fatal编程技术网

Vb.net &引用;所需参考资料“;从其他项目引用NServiceBus程序集时出错

Vb.net &引用;所需参考资料“;从其他项目引用NServiceBus程序集时出错,vb.net,assemblies,nservicebus,Vb.net,Assemblies,Nservicebus,我们正在尝试编写一个在VB.NET环境中使用NServiceBus库的应用程序。我们遇到了类似以下错误的困扰: 需要引用程序集“NServiceBus,Version=2.0.0.1071,Culture=neutral,PublicKeyToken=9fc386479f8a226c”,其中包含实现的接口“NServiceBus.IMessageHandler`1”。将一个添加到项目中 我们的项目已经包含来自同一NServiceBus 2.0 RC2发行版的对NServiceBus.dll和NS

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

需要引用程序集“NServiceBus,Version=2.0.0.1071,Culture=neutral,PublicKeyToken=9fc386479f8a226c”,其中包含实现的接口“NServiceBus.IMessageHandler`1”。将一个添加到项目中

我们的项目已经包含来自同一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相关的问题


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

    项目现在在主干和2.0分支上都具有强名称


    希望这有帮助

    很奇怪,我们也能在这里繁殖。你能拉下源代码并在本地重建它吗?是的,拉下主干代码并使用提供的构建脚本在本地构建它。我也有同样的问题。尚未仔细查看生成脚本,以确定它是否执行了任何可能导致此问题的操作。即使使用最新的3.0签名程序集,也没有相同的问题:(