我们在Web应用程序中使用NServiceBus,每次将代码部署到生产环境时,我们都必须删除文件夹中的临时文件:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
我们按照此处的说明解决此问题:
http://www.nservicebus.com/faq/TypeNotRegisteredInSerializer.aspx
我想知道是否有更持久的修复方法?每次部署新代码时,我都觉得我正在与此作斗争。从代码处理此问题的最佳方法是什么?如果这不起作用,最好是在每次部署新代码时停止应用程序池,删除文件并重新启动应用程序池吗?
感谢您的任何建议。
答案 0 :(得分:8)
而不是使用Configure.WithWeb(),而是尝试:
Configure.With(HttpRuntime.BinDirectory)
这样,它将搜索已部署的Web应用程序中的实际bin文件夹,而不是临时文件夹。这也是nservicebus 3.0中的默认行为。
答案 1 :(得分:1)
我们也打了这个。没有找到比停止应用程序池,删除临时asp.net文件然后重新启动更好的东西。
答案 2 :(得分:1)
如果您有一些应该被忽略的程序集,那么解决方案是什么?我们有这样的事情:
_bus = Configure.With(AllAssemblies.Except("IncompatibleAssembly.dll"))