在 WinFrom 或 Console 的專案中,根據組態檔轉換設定檔

開發網站應用程式的時候,我們可以透過切換 Debug 或 Release 組態,來自動切換對應的 Web.Debug.configWeb.Release.config 進而整合成運行還經中所需要的 Web.config,也藉此達到在不同運行環境上配置該應用程式可以執行的設定參數,然而在 WinFrom 或 Console 的專案中,雖然有 App.config 可以將設定抽離程式碼,但無法根據組態來自動切換環境所需的設定檔,這時我們可以這樣做。

ML.NET 0.1 Release Notes 中文版

從 ML.NET 0.1 Release Notes 發行說明來了解在 .NET 生態中,機器學習的發展。如有翻譯錯誤,請指正,謝謝!

Azure Bot Service 快速建立對話機器人的服務介紹

Azure Bot Service 是一套專用於開發、運行對話機器人的整合環境,也可以說是一個解決方案,裡面關聯到的功能、服務相當多元,從建置機器人對話服務、連結至各對話頻道、測試對話功能,甚至佈署與管理,都包含在 Azure Bot Service 中。

輕鬆解決 NPM 的 Could not load the Visual C++ component "VCBuild.exe" 錯誤訊息

有時候使用 npm 安裝或還原套件的時候,出現 MSBUILD : error MSB3428: Could not load the Visual C++ component "VCBuild.exe" 的錯誤訊息,這是因為所相依的工具需要系統額外的工具所造成,這裡記錄一下解決方法。

在 Visual Studio 中發行不用安裝的 EXE 可執行檔

Visual Studio 預設在發行 WPF 專案時,會幫你將專案封裝成可安裝檔,並幫你製作 ClickOnce 安裝精靈,方便你做發布。不過有時候只是做一個簡單的 WPF 桌面應用程式,只想要簡單傳給使用者使用,如果使用者使用時還要跑一段安裝步驟,就顯得相當多餘。

MVP 成就達成,感謝各位先進一路上的指導

今天收到來自 Microsoft MVP Program Team 寄來的 Award Kit,第一次看到 MVP 獎盃實體,還附有寫 Poy Chang 的 MVP 證書,心中真是又驚又喜,這一路上要感謝的人真的太多了,先讓我謝天謝地,謝謝各位一路上的指導。

如何取得免費 Apple 開發帳號的 App Provisioning Profile 並用在 Visual Studio App Center 中

前情提要:因為我只有免費 Personal Team 的 Apple 開發者帳號,又想要玩玩看 Visual Studio App Center,讓 App 開發也能有 CI/CD 的開發流程,而要讓 App Center 能順利建置 iOS App 專案,你必須要提供開發人員憑證檔(Certificates),以及 App 項目描述檔 (Provisioning Profiles),如果你是付費開發者帳號,可以從 Apple 開發者網站去下載 Provisioning Profiles,但免費的 Personal Team 帳號就無法在該網站下載了,這時候該怎麼辦呢?

使用 VSTS 建置並佈署多個 Azure Web App

如果今天想要使用 Visual Studio Team Service 提供的持續整合和部署 (CI/CD) 管線,建置並發行多個 ASP.NET 網站專案至 Azure 雲端時,預設情況下,你會發現建置任務會兩個網站專案都建置,但在佈署任務時,你無法指定要佈署哪一個建置後的網站專案,而且只有某一個網站專案會被佈署。

使用 VSTS 佈署 Azure Web App 發生 ERROR_FILE_IN_USE

Visual Studio Team Service 所提供的 CI/CD 功能非常強大且很容易使用,內建了很多任務 (Task) 可以直接取用,甚至還提供許多設計好的範本讓你直接套用,相當方便,例如 Azure Web App 範本,可以幫你從做了一套從還原套件至編譯然後佈署至 Azure 一系列的流程。不過對於持續運行的站台,使用這個 CI/CD 範本可能在佈署至 Azure 這段發生 ERROR_FILE_IN_USE 錯誤。

建議使用這種方式 Import RxJS 的各項功能

在 RxJS 5.4 以前,常使用 import 'rxjs/add/operator/map'; 這樣的方式來匯入 RxJS 的操作符,但這樣的做法是會有副作用的,如果使用 RxJS 5.5 以後的版本,建議使用 import { map } from 'rxjs/operator/map'; 這樣的方式來匯入。