The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

錯誤的 HintPath 也可以在 Visual Studio 中建置,但 CI 的時候可能不行

我在幫一個客戶 Code Review 並重構專案的時候,發現他們的專案在 Visual Studio 2019 都可以順利的建置專案,但是透過 Azure Pipelines 使用 MSBuild 建置卻會編譯失敗,錯誤訊息非常不清楚,真的是查了很久才想通問題的主因在哪裡,我覺得值得寫篇文章記錄一下。

... 繼續閱讀 ...

使用 MSBuild 建置方案檔(sln)與建置專案檔(csproj)的陷阱與注意事項

我一年大概都會幫幾家企業導入 Azure DevOps Server 平台,最近幫客戶導入的過程遇到了一個難題。一個方案檔中有 9 個專案,其中有 4 個 .NET Framework 4.7.2 類別庫專案、1 個 .NET Framework 4.7.2 的 ASP.NET Web Forms 專案、2 個 .NET Core 2.1 類別庫專案、1 個 .NET Standard 2.0 專案、2 個 .NET Core 2.1 類別庫專案、1 個 .NET Core 2.1 的 ASP.NET Core 專案。很少看到一個案子用這麼混搭的技術,而這個案子要做 CI/CD 確實也遇到了問題。這篇文章我將說明問題與解決方法!

... 繼續閱讀 ...

ASP.NET MVC 5 搭配 EF6 無法啟用 MvcBuildViews 建置檢視頁面的解法

今天在示範 MSBuild 如何設定 MvcBuildViews 屬性時,發現只要有 *.edmx 存在於專案中,建置的時候就會導致出現 Could not load type 'System.Data.Entity.Design.AspNet.EntityDesignerBuildProvider' 的問題,這個問題想從 Visual Studio 2019 裡面很難看出個端倪,必須改用 MSBuild 才能看出脈絡。今天這篇文章,我將分享這個問題的細部分析,並提供解決方案。

... 繼續閱讀 ...

如何在 Visual Studio 2017 對 .NET Core 專案啟用分析器功能

在 Visual Studio 2017 裡面,有個好用的「分析器」功能,可以幫助開發人員寫好程式。他的作法是在背景執行一連串的程式碼分析,透過一組規則集 (RuleSet) 對專案中的程式碼進行剖析與檢查,如果有發現任何問題,就會在「錯誤清單」中呈現資訊、警告或錯誤,並且提供部分規則的自動修復功能。不過,在 Visual Studio 2017 對 .NET Core 專案的支援度並沒有太多文件著墨,我花了好多時間才研究出背後的差異之處。我打算透過本篇文章分享如何在 Visual Studio 2017 啟用與設定 .NET Core 專案的程式碼分析器功能。

... 繼續閱讀 ...

如何將現有 .NET Core 專案加入相對應的 xUnit 單元測試專案

在 Visual Studio 2017 開發工具裡,建立單元測試專案有好幾種方法,其中一種是將現有專案增加一個相對應的單元測試專案。在傳統 .NET Framework 專案中,很輕易的就可以建立完成,只要在任一類別上按下滑鼠右鍵,選擇「建立單元測試」即可。但在 .NET Core 專案中就沒那麼方便了,因為這個功能一直沒被實現。本篇文章將分享如何依據現有專案的程式碼,產生相對應的單元測試專案,一步一步帶大家了解建立單元測試專案的過程。

... 繼續閱讀 ...

解決 Visual Studio 2017 Community 無法使用 Snippet Pack 擴充套件問題

我個人長久以來都使用 Visual Studio Enterprise 版本,不過最近由於錄製了【Visual Studio 2017 開發環境全面解析】線上課程,所以特別安裝了 Visual Studio 2017 Community 版本來進行教學,以免學員看到我教一些他們無法使用的功能。今天台北大雨,宅在家裡額外錄製了一些課程免費送給已經報名的學員,卻意外發現原來透過 Visual Studio 2017 Community 安裝任意 Snippet Pack 擴充套件,預設竟然都無法使用擴充套件安裝的 Code Snippets (程式碼片段),今天我終於研究出如何正常使用的方法!

... 繼續閱讀 ...

如何在 Visual Studio 2015 與 Visual Studio 2017 建立與偵錯 VSTO 專案

睽違了 9 年,終於再次有機會用到 VSTO 這門技術,想當年我們還是用 VSTO 2005 開發專案的呢!不過這次就很不順了,連專案範本都無法建立,我同事則是用 Visual Studio 2015 可以開啟專案,不過卻無法成功執行與偵錯。卡關了數週之後,只好向微軟技術支援中心求助,直到今天才正式解決此問題。

... 繼續閱讀 ...

如何修改 Visual Studio Code 內建的 TypeScript 版本

最近這兩周由於 Angular 2 已經來到了 RC5 版本,且 Angular CLI 也來到了 1.0.0-beta.11-webpack.2 版本,正式改用 webpack 作為 Angular 2 今後的模組管理工具,專案的整體編譯速度比以前用 SystemJS 快了好幾倍,我們用的非常開心。但唯獨有一點不太理想,就是當 Angular CLI 升級後所建立的專案,在 Visual Studio Code 裡面一直會出現討厭的警告訊息 ( 紅色下曲線 ),在經過幾天的消化與研究之後,終於發現原來是 Visual Studio Code 與 TypeScript 的問題,欲知詳情,請繼續看下去!

... 繼續閱讀 ...