我有一个使用SharpSVN dll和NServicebus dll的c#应用程序,编译正常但在执行时(在初始化总线时)它会抛出以下错误
无法加载文件或程序集'file:/// C:\ Repositories \ Repo \ hooks \ SharpSvn-DB44-20-Win32.dll'或其依赖项之一。该模块应该包含一个程序集清单。
如何解决上述问题。
提前感谢 Susanta
答案 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
这适用于您的情况吗?