今年新版Visual Studio 2019發表, 隨著幾個月前換了新筆電, 打算不裝其他版本, 直接安裝最新版來使用, 無奈後來開發SSIS專案時遇到一個雷, 雖然知道VS2019的SSIS(改成了在延伸模組安裝)目前仍在Preview, 有bug是在預期中的, 但還是覺得有點可惜, 最後只好打掉並重新裝回Visual Studio 2017。
發生的情況是這樣的, SSIS專案來自於舊系統, 已是SQL Server 2005時的版本了, 一來是當時的Visual Studio是N版之前的, 二來SQL Server也到了不得不升版, 以免維護愈來愈困難的情況了。所以, 就打算把原專案升級到SQL Server 2016(以上)的版本, 一切進行的還算順利, 但當要一一點進細部工作項目檢查驗證時, 卻發生了Script Task的存檔問題。

在Script Task Editor視窗上可以看到這裡的ScriptLanguage是2015的版本, 不論用的是Visual Basic或是C#, 而且這是不能改變的。
此時按Edit Script按鈕開啟程式碼視窗編輯存檔後, 再次開啟你會發現剛才改的任何內容都沒有存成功。
網路上有人也提到相同問題, 例如這一篇, 還有擴充功能的Q&A裡也有, 我發現問題時是在10月底, 當時還沒有解決方式, 於是我再安裝了Visual Studio 2017想看看是否可以解決這個問題。接著又發現不太順利。
用Visual Studio 2017開啟SSIS專案, 一樣按Edit Script開啟程式碼進行編輯存檔, 結果竟然一樣沒存成功。這時注意到另一個重點, 也就是Edit Script開啟的程式其實是VSTA(Visual Studio Tool for Applications), 發生問題的源頭也是VSTA, 而當我同時有VS2017及VS2019時, 即使SSIS專案是在VS2017開啟, 在Edit Script開啟的VSTA應該是最新版, 所以就在不太情願的狀況下開始跟VS2019說拜拜了。
最後, 在只有VS2017的情況下, 終於可以正常編輯及存檔Script Task程式碼了。在今日, 過了半個月後再次檢閱擴充功能來源, 近幾日又有更新版本了, 也看到有人回報這問題已解決, 看來我又可以安排時間, 再重新安裝VS2019了, 衝吧!