2011-01-24

VS2010在64bit下無法執行WcfSvcHost.exe

開發WCF程式時 常常會使用WcfSvcHost.exe來幫我們測試一下程式是否正確


可是當OS為64bit環境時WcfSvcHost.exe會開不起來


這個問題的原因是在於WcfSvcHost會依照OS是32bit or 64bit的不同 去讀取不同的library


所以當你的WCF Service必須呼叫x86的library時 我們必須強迫讓WcfSvcHost.exe允許32bit


Step1 :


IF OS是WINDOWS7 記得要用系統管理員身分去執行


Visual Studio Tools -> Visual Studio Command Prompt(2010)


Step2 :


切換位置到WcfSvcHost.exe的路徑下 (應該是在C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE下)


Step3 :


參考 http://msdn.microsoft.com/zh-tw/library/ms164699.aspx


設定 32BIT 旗標讓WcfSvcHost.exe 能夠執行32bit元件


 


參考一下別人的作法


http://www.dotblogs.com.tw/ouch1978/archive/2011/01/11/x64wcfservice.aspx


 


解決WCF Services無法在64bit IIS7下使用

我的PC OS是 Windows7 64bit環境


因為某個元件是32bit環境下開發的 所以我將專案環境都改成x86


publish之後 利用IIS7 建置成服務


結果發生了這個錯誤


 


Could not load file or assembly 'RusoLiteService' or one of its dependencies. 試圖載入格式錯誤的程式。



趕緊Google一下


WCF
3.5 error: Could not load file or assembly 'IBSCore' or one of its
dependencies. An attempt was made to load a program with an incorrect
format.


http://social.msdn.microsoft.com/Forums/en/wcf/thread/bbc0d893-7b7d-455e-ab41-36ab3f014c12


原來解決方式很簡單


就是將IIS 應用程式集區中的設定 啟動32bit程式 設為True 即可


2011-01-04