2011-06-29 45 views
3

我們在Web應用程序中使用NServiceBus,每次我們部署我們的代碼到生產,我們要刪除臨時文件夾中:NServiceBus - 類型未在序列化程序中註冊 - 修復?

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files 

我們在這裏按照說明解決這個問題:

http://www.nservicebus.com/faq/TypeNotRegisteredInSerializer.aspx 

我想知道是否有一個更永久的修復?每次我部署新代碼時,我都覺得我正在爲此而戰。處理代碼的最好方法是什麼?如果這不起作用,每次部署新代碼時最好停止應用程序池,刪除文件並重新啓動應用程序池?

感謝您的任何建議。

回答

8

而不是使用Configure.WithWeb()的,而不是嘗試:

Configure.With(HttpRuntime.BinDirectory) 

這樣的話,它會搜索實際的bin文件夾中部署的Web應用程序,而不是臨時文件夾。這也是nservicebus 3.0中的默認行爲。

1

我們也碰到過。還沒找到比停止應用程序池,刪除臨時asp.net文件,然後重新啓動更好的東西。

+0

我寫了一個bash腳本,並使用哈德森的psexec爲我自動化了這一點。這是我能想到的唯一的事情,所以我可以自動處理它。 – Brandon

1

如果您有一些應該忽略的程序集,解決方案是什麼?我們有這樣的事情:

_bus = Configure.With(AllAssemblies.Except("IncompatibleAssembly.dll"))