VS2017 Msbuild Framework Error

問題
今天電腦重新安裝後,厡本可以發行的Web專案,在發行時出現以下錯誤 Could not load file or assembly "Microsoft.Build.Framework"。



原因
下圖為目前web.config內的Binding Redirect設定,使用的最新版為14.0.0.0,而錯誤顯示的是4.0.0.0找不到....。ps:此設定為參考ReportViewer後所加入的。
由於之前的環境有VS2015及VS2017並存,而專案是從4.6.2升上來4.7,所以判斷可能的原因為只裝4.7所以舊的組件找不到了才會報錯。


解決方式
1.更改Microsoft.Build.Framework為15.1.0.0版

2.GAC更新組件
使用管理者身份打開Developer Command

執行命令
gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Build.Framework.dll"
gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Build.dll"
gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Build.Engine.dll"
gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Build.Conversion.Core.dll"
gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Build.Tasks.Core.dll"
gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Build.Utilities.Core.dll"

參考來源

這個網誌中的熱門文章

[TFS] 分支與合併

[.NET Core] 將專案發行至IIS