“无法加载文件或程序集”/“或其依赖项之一。模块应该包含程序集清单。”

时间:2010-01-05 10:46:47

标签: nservicebus sharpsvn

我有一个使用SharpSVN dll和NServicebus dll的c#应用程序,编译正常但在执行时(在初始化总线时)它会抛出以下错误

  

无法加载文件或程序集'file:/// C:\ Repositories \ Repo \ hooks \ SharpSvn-DB44-20-Win32.dll'或其依赖项之一。该模块应该包含一个程序集清单。

如何解决上述问题。

提前感谢 Susanta

5 个答案:

答案 0 :(得分:4)

通过使用明确的程序集列表配置NSB扫描,从NServiceBus程序集扫描中排除sharpsvn dll:

Configure.With(“包含消息处理程序的程序集列表”)...

如果您使用的是Saga功能,请确保在列表中包含NServiceBus.core.dll。

希望这有帮助!

答案 1 :(得分:2)

Susanta,

我们最近提交了一个额外的API,通过允许您指定要加载 的程序集,可以使您更容易,如下所示:

Configure.With(AllAssemblies.Except(“SharpSvn-DB44-20-Win32.dll”))... //其余配置

答案 2 :(得分:1)

SharpSvn-DB44-20-Win32.dll是SharpSvn.dll的可选助手dll。它仅包含非托管代码。

它包含对直接访问文件系统上的BDB存储库的支持。如果只使用fsfs(file://)和/或远程存储库,则不需要此DLL。

SASL dll也是可选的,但是当你想使用svn://存储库时需要它。

答案 3 :(得分:1)

使用以下总线配置解决问题。

Bus = NServiceBus.Configure.With( typeof(IMessage).Assembly,typeof(CompletionMessage).Assembly )                     .SpringBuilder()。MsmqSubscriptionStorage()。XmlSerializer的()。MsmqTransport()                     .IsTransactional(真).PurgeOnStartup(假).UnicastBus()。ImpersonateSender(假)                     。.LoadMessageHandlers()CreateBus()启动();

感谢Andreas

答案 4 :(得分:0)

我不确定这对你有没有帮助,但我偶然发现了这个帖子:

http://social.msdn.microsoft.com/Forums/en/vsdebug/thread/9ad17869-63cc-4529-bfaf-9099db500e0d

在构建/运行具有相同名称的程序集时,似乎有少数人看到了此错误,例如:

SomeAssembly.exe
SomeAssembly.dll

这适用于您的情况吗?