新 Windows 10 對上 ASP.NET 舊專案
有沒有電腦重裝 Windows 後,特別是 Windows 10,一些舊 ASP.NET 專案動彈不得的情況?如果有遇到以下的問題,這篇記錄或許可以提供參考。
Visual Studio 對 ASP.NET MVC 4 的支援
ASP.NET MVC 4 是從 Visual Studio 2012 開始提供的。
如果用 Visual Studio 2015 開 MVC 4 專案,它只會告訴你不相容,就不搭理你了。
安裝 Visual Studio 2012 2013 是一個方法,但這樣電腦上要裝很多套 Visual Studio。
用上 Visual Studio 2017
來開,它會問你要不要補上缺少的套件
,同意後它自動去下載回來安裝,之後就能順利開啟 MVC 4 專案。再也不用為了維護 MVC 3 MVC 4 的專案,特地安裝 VS2012 了!
無法安裝 .NET Framework 3.5
雖然 Windows 10 控制台中的 開啟或關閉 Windows 功能
中第一項就是 .NET Framework 3.5 (包括 .NET 2.0 和 3.0)
,但在我的環境中就是無法正確安裝,會出現錯誤代碼為 0x800F081F
的錯誤,當用 Visual Studio 2017 它會提示安裝,也一樣安裝失敗:
網路上很多人有相同問題,微軟也有官方說明:
.NET Framework 3.5 安裝錯誤:0x800F0906、0x800F081F、0x800F0907
但 … 看不太懂。
方法一
這是我用的方法。因為先找到小工具才看到命令。
下載這個小工具
.NET Framework 3.5 Offline Installer for Windows 10 and 8.x
將 Windows 的安裝光碟放入光碟機或掛起 ISO 檔。
執行小工具,如以下畫面
在 Select Installation Media
的地方選到安裝光碟所在的磁碟機,如果光碟沒問題,在第二欄的後面應該要出現 (Found)
,表示光碟有 \sources\sxs
目錄。
如果有問題,請確認光碟內容。
執行 Install
就會代為執行安裝命令,並完成 .NET Framework 3.5 的安裝。
方法二
即手動執行命令。
以系統管理者身分開啟命令提示字元,再執行以下指令:1
DISM /online /enable-feature /featureName:NetFx3 /All /LimitAccess /Source:h:\sources\sxs
/Source: 後的 h: 即指向光碟路徑。
在小工具的 Advanced Install
tab 中也可看到命令內容。
無法安裝 .NET Framework 4.0
Windows 10 安裝好 .NET Framework 就到 4.5 以上了,雖然 4.5 在執行上向下相容於 4.0,但在專案屬性的 目標 Framework
中是選不到 .NET Framework 4
,從 3.5 就到 4.5 了,專案也開啟不了。
下載 .NET Framework 4.0 的離線安裝檔來安裝,則會跳出 4.0 已存在的訊息,無法繼續安裝。
我的方法是:
安裝 Visual Studio 2010
是的,安裝完 VS2010,.NET Framework 4 就回來了,專案也可正確開啟及執行。
ASP.NET MVC 3 升級到 MVC 4
這個和重裝 Windows 10 沒有直接關聯,但和專案環境調整有關,就一併提供給有需要的朋友。
NuGet 上有個套件 UpgradeMvc3ToMvc4,可以直接協助做遷移。
套件安裝後就直接遷移了,並沒有介面再做確認。
請在執行前先備份好原始專案,或是在備份上先試過OK再套用到正式專案上。
結語
如果只想裝一套 Visual Studio,Visual Studio 2017
是很好的選擇,它已可取代全部舊版的開發功能,持續改善中並加入新功能。近來更版很頻繁,最新已到 15.5 加上對 C# 7.2 的支援。
Visual Studio 2017 對舊專案的支援度提昇非常多,遇到還不支援的專案類型或套件,會提示去下載相關檔來安裝,接著很有可能就可以用了。
開過的專案在 Visual Studio 2015 也可順利開啟,不用擔心 VS 互通性的問題。