ASP.NET 4 MVC 2 佈署到 IIS 7.5 問題 (4) - 手動佈署遠端主機
原本想說佈署 ASP.NET 不就是 copy 過去就好了嗎? 10 分鐘應該就可以搞定了!
之前都是用 VS 2010 直接佈署
但,沒想到該台機器
一!很乾淨的機器
二來!連內部網路都無法連
結果還是搞了老半天 (汗)
以下的方式都是手動執行,沒有用 封裝機制 時遇到的問題
還是自已記錄一下好了!
.NET Framework 4 的轉發套件
.NET MVC 2 的轉發套件
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c9ba1fe1-3ba8-439a-9e21-def90a8615a9&displaylang=en
下載 AspNetMVC2_VS2008.exe 後
AspNetMVC2_VS2008.exe –x
指定解壓縮後的名稱 ( 這裡是用 AspNetMVC2 )
這時後會多出現一個 AspNetMVC2 的資料夾
執行以下指令後就會幫你把 MVC 的 dll 安裝並註冊至 GAC
C:\下載的路徑\AspNetMVC2\mvcruntime\msiexec.exe /i aspnetmvc2.msi /q /l*v .\mvc.log
沒有安裝 MVC 2 的套件的話!
會一直出現 System.Web.MVC.dll 找不到的錯誤
小弟一直以為 MVC 2 是內建在 .NET Framework 4 之中
實際佈署後才驚覺不是這麼一回事 ( 事後看到 保哥的書中其實有寫 Orz )
若不想安裝的話!把以下的設定改成 True 就好
這樣子基本環境已經好了!
手動建立 IIS AP 後
但卻一直出現以下的錯誤
Could not load file or assembly 'Tailspin.Infrastructure' or one of its dependencies. 試圖載入格式錯誤的程式。
這個錯誤之前有遇過,是因為 某些 Project 是 32 bit 某些是 64 bit 的關係。
但因為我已經確定全部都是 32 bit 怎麼會還有這個錯誤!
後來才想到, 64bit 的 IIS 要允許 32 bit 必須要開啟後才能用
選擇應用程式集區—>ASP.NET v4.0 -->進階設定-->啟用 32 位元應用程式 改成 True 就可以了!
接下來就可以正常執行 Web AP 了!
浪費了很多時間,至少把這些問題記錄下來 可以避免同樣的錯誤
下次 要弄成 封裝檔安裝 不然實在太辛苦了
參考資料
http://weblogs.asp.net/jgalloway/archive/2010/07/13/server-installation-options-for-asp-net-mvc-2.aspx