The Will Will Web

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

如何修復 PowerShell 無法執行任何 Cmdlet 的問題

在我目前這台 Windows 10 電腦中,有兩個 Windows PowerShell 捷徑,分別是 Windows PowerShellWindows PowerShell (x86) 這兩個,從捷徑名稱很容易看得出其差異,Windows PowerShell 這個是在 64 位元環境下使用的 PowerShell,可以載入 64 位元的各式 PSModules 或 PSSnapin 到執行環境中。而 Windows PowerShell (x86) 則是在 32 位元的 x86 架構下使用的 PowerShell,可以載入那些只支援 x86 架構的 PSModules 或 PSSnapin 到執行環境中。不過今天在我的電腦,又再次發生 Windows PowerShell (x86) 視窗開啟後,任何 Cmdlet 都無法執行的窘境,這個問題我在 4 個月前曾經遇過一次,當時花了我一個多小時才找到解法。但今天又花了我將近一個小時找出問題並修復他,真是太浪費時間了,因此我決心寫一篇文章,記錄這個詭異的靈異現象與更詭異的解決方法 (至今尚未能理解這個問題發生的原因)。

... 繼續閱讀 ...

還在用 Azure 線上信用卡繳費的客戶請注意:全新 30% 現金回饋方案啟動

如果你正在使用 Azure 雲端服務,每個月已經有帳單產生,我發現有許多人還是採用 隨選隨付 (Pay-As-You-Go) 的方案,這種看似「用多少、算多少」的計費方式看似非常方便,但其實你也可以採購 Azure in Open 授權,透過預購信用額度的方式降低成本。我們公司 (多奇數位創意有限公司) 前陣子獲選為台灣微軟 Azure / Office 365 雲端合作夥伴,不但能提供 Azure / Office 365 的技術支援與教育訓練,更能提供許多優惠的採購建議,幫助客戶大幅降低成本。最近微軟提供給我們的 雲端週年慶 30% 現金回饋專案 就提供了一個非常非常優惠的採購方案,可以幫客戶節省高達 30% ~ 35% 的雲端採購成本,有在使用 Azure 或是正打算採用 Azure 的人,請務必繼續看下去!

... 繼續閱讀 ...

如何透過 C# 類別庫讀取 Web.config 或 App.config 的參數設定值

我們經常會需要在應用程式中宣告一些參數,好讓我們的程式在不用重新編譯的情況下隨時變更參數設定值,而這樣的機制老早就內建在 .NET 之中。今天我將分享幾個常見的使用案例與範例程式,教大家如何規劃 C# 類別庫 (Class Library) 的設定檔,以及如何從 ASP.NET 應用程式 ( 包含 Web Form 與 MVC )、主控台應用程式 (Console Appliation) 與 Windows Form 應用程式正確設定 app.config 或 web.config 設定檔,以變更類別庫中參數的預設值。

... 繼續閱讀 ...

ASP.NET MVC 開發心得分享 (26):關於 Razor 的運作原理與改進特性

ASP.NET MVC 3 開始提供的 Razor V1 改變了以往使用 WebFormView 的寫作習慣,讓我們在 檢視頁面 (View Page) 中的 HTML 與伺服器端的語法 (Razor) 混和得更漂亮,不再有醜陋的 <% … %> 符號了。然而從 ASP.NET MVC 4 開始,在 Razor 推出了第二版,有許多增強的特性,本篇文章將介紹這些增強的特性。而到了 ASP.NET MVC 5 推出了 Razor V3 版,這版只有修正一些程式錯誤,並沒有功能增強。

... 繼續閱讀 ...

The Will Will Web 生日快樂! ( 什麼?已經八歲了 )

今年的 “The Will Will Web” 生日很特別,因為這幾天受中國微軟邀請前往北京參加 Microsoft Ignite China 2015 演講,所以是在北京度過生日。這一年來,依然是充實又忙碌的節奏,雖然有時會覺得累,但能讓日子過得有意義,知道自己努力的方向,忙一點累一點好像也還好,像現在偶爾能夠出國演講又能到處走走,其實感覺也頗愜意。在這個值得紀念的時候,就讓我們一起歡慶 The Will Will Web 部落格八歲生日囉!

... 繼續閱讀 ...

介紹 IIS 8 全新的 HttpPlatformHandler 模組與 ASP.NET 5 Beta8 重大變更

HttpPlatformHandler 是一個支援 IIS 8 與 IIS 8.5 的原生模組 (native module),主要使用於 Microsoft Azure Websites 網站服務中,用途是讓 Java 或其他第三方程序可以輕鬆整合到 IIS 之中,讓各種 Web 框架都能直接掛載到 IIS 之上。而近期發佈的 ASP.NET 5 Beta8 版本也正式宣告改採 HttpPlatformHandler 模組搭配 Kestrel HTTP Server 執行 ASP.NET 5 應用程式,想要了解其內部運作結構,必須得了解一下。

... 繼續閱讀 ...

台灣、雲端與颱風:我將公司全面雲端化的心路歷程

這次 杜鵑颱風 橫掃台灣,即便台灣每年都要應付這麼多大大小小的颱風,但這次還是傳出不少災情,希望大家都能安然度過!這次颱風來臨前,家人說要上台北,叫我這次不要回台中,躲過了塞車之苦,不過在家悶了好幾天,也著實有點難受,事情想著想著想到了十多年前剛創業的時候遇到的「納莉颱風」,這次颱風幾乎把當時剛起步的博客來網路書店給摧毀(因為主機泡水),當時的新學友也因為納莉颱風而重創。當時我公司剛創立沒幾個月,辦公室位於忠孝東路一段竟然也大淹水(水深到腳踝),還好當時伺服器是擺在桌上,只有斷電而已,主機與資料都完好,當時可沒甚麼雲端備份服務可用,如果當時主機泡水的話,那就真的慘了。(可能就不會有現在這個部落格了)

(上圖是一位太空人 Kjell Lindgren 從太空站拍攝杜鵑颱風的相片,他每天都會從太空站直接發照片到 Twitter 上)

... 繼續閱讀 ...

介紹好用工具:Cmder ( 具有 Linux 溫度的 Windows 命令提示字元工具 )

在前端工程師的鄙視鍊中, Windows 一直以來都被 Mac OS X 的人所鄙視,我覺得其中有個癥結點在於 Mac OS X 的 Terminal 下可以做的事情很多,而且又與 Unix-like 的作業系統相容,很多指令都可以共用,又有很多 Shell 可以安裝,確實比 Windows 的命令提示字元 ( Command Prompt ) 或 PowerShell 來的方便許多。由於我個人也越來越常在 Windows 平台使用前端開發相關工具,因此也越來越常用命令提示字元進行指令列操作,直到最近把 cmder 裝起來玩,我的 Windows 才開始有了點 Linux 的溫度,本篇文章就讓我來好好介紹 cmder 這套前端工程師的逆天神器吧!

... 繼續閱讀 ...

關於 PATH 環境變數過長而導致命令提示字元下無法執行特定程式的問題

最近由於經常在研究前端常用的各式工具,像是 npm, bower, gulp, webpack, yo, git 等等的工具用的很多,因此親手打指令執行程式的機會變多了,然而有好長一段時間間斷地出現了一些靈異現象,我卻無法解釋,直到最近終於發現了一些潛在的地雷,身處 Windows 平台下的前端工程師們不得不注意。由於我最近迷上了 Cmder 工具,在使用這套工具時可以讓我在輸入指令時,就像身在 Linux 環境下一樣自在,功能很多、支援鍵盤快速鍵、還支援命令與參數自動完成,非常好用,不過有時候卻發現他有點不太靈光,明明已經裝好了 npm 或 bower 工具,就是無法正常執行,我開啟 Windows 內建的「命令提示字元」視窗卻又可以執行。但問題是並不是永遠都不能執行,因為有時候又可以正常執行。這完全是一個農曆七月鬼打牆的概念,我將用這篇文章來說明問題背後的原理與解決方法。

... 繼續閱讀 ...

如何在強制使用代理伺服器的環境下設定 git, npm, bower, gem, ionic 工具

有些公司會要求員工上網時必須設定代理伺服器 (Proxy Server) ,在這樣的環境下使用這些前端工具經常會遇到許多網路連線的問題,本篇文章將說明如何針對 git, npm, bower, gem, ionic 等工具進行完整的代理伺服器設定,設定好之後就可以大幅漸少這些奇奇怪怪的問題。

... 繼續閱讀 ...

如何在 Windows 平台變更 Node.js / npm 全域模組的預設安裝路徑

由於 npm 本身的設計缺陷(直到 npm 3.x 才會改善),會導致安裝模組時,可能會因為特定模組用到相依模組而安裝非常多檔案與資料夾,而且資料夾的層級非常深,在 Mac OS X / Linux 環境下其實並不會有問題,但到了 Windows 環境下的問題可大了,因為 Windows 作業系統有路徑檔名的限制(完整的檔名必須少於 260 個字元,並且目錄名稱必須少於 248 個字元),即便到了 Windows 10 還是有這個限制存在,所以在 Windows 平台透過 npm 安裝套件時,經常會有「指定的路徑、檔名,或是兩者都太長」的錯誤發生,本篇文章將說明問題發生的原因與解決此問題的方法。

... 繼續閱讀 ...