發表文章

目前顯示的是有「開發環境」標籤的文章

元件存放區已損毀 Error Code: 0×80073712

圖片
資訊科學以及開發人員的養成訓練和經驗告訴我們,發生問題一定是有背後的原因的。網路上常常有人歸納於人品、或七月沒拜拜、或放在Server上的零食過了保存期限( 或是加了塑化劑 ),我要說,這都是不科學且沒有根據的。 話說自從我買了新的NB之後,一直沒有認真寫程式,可能是因為上帝覺得我這樣混也不是辦法,所以強迫我非得寫個App不可,我在蘑菇了幾天之後,終於重新把開發環境和WP8 SDK裝起來,過程出奇的一切順利(誰說人品有問題來著???)... WP8模擬器需要Hyper-V,這不是問題,我可是i7的ultrabook呢... 正當我這樣想的時候,shit,Hyper-V開不起來,以前沒看過的錯誤訊息... 元件存放區已損毀     什麼鬼啊,本著實事求是的精神,我決定要認真找原因,我不相信跟今天大樓普渡我理都不理有什麼關係。 經過3 0 分鐘後, 找出解法了 ,首先,用管理者身分開啟Command Line,接著輸入: DISM.exe /Online /Cleanup-image /Scanhealth DISM.exe /Online /Cleanup-image /Restorehealth 執行結果如下:  搞定。 後記:這個問題其實估計跟預裝的Windows 8我把它升級成Windows 8 Pro有關。如果重新安裝Windows 8 Pro,應該不會有這個問題,本著實事求是的精神,這個測試,我留給其他人做了。 後後記:話說我Search的時候看到 這篇 ,這苦主發生的問題跟我一模一樣,連機器都是同一款,我在想,說真的,最近這十年因為internet的出現,世界變小了,學習變快了。如果是二十年前,在地球兩端的兩個人,可能得各自為了碰到的問題傷腦筋,但現在,我只是Search,就可以找到別人留下的足跡...一方面感謝,一方面感慨...

走進廚房,才知道食材的好壞...

前幾天應邀到社群舉辦的講座,介紹雲端運算與行動裝置的整合,席間提到了Silverlight技術,不免又有一些開發人員問到這樣的問題:『聽說...微軟對Silvrlight的支持和更新將會如何如何...,這部分開發人員要如何因應』? 面對這類問題,我最近一年少說不只回答了10次,首先,『聽說』這個前提就很是問題,雖然報紙偶而會有猜對的時候,但捕風捉影總是佔了大多數。 另外就是開發人員要如何因應這種事情。 我始終覺得,沒什麼好因應的,開發技術本來就是這樣,特別是展示層開發技術,我在 這篇 文章中曾經說過,展示層技術的持續精進與改變是必然的趨勢。你回頭看,Wii和Kinect都是最近這幾年才發生的事情,但現在已經開始慢慢出現在我們LOB應用的UI裡面了。而觸控技術早就有了,最近五年才出現在手機上,如果回頭看過去20年,從黑底白字的文字模式,到Mac/Windows的圖形介面,到現在的RIA(Rich Internet Appication)開發技術,少說有沒有換過10種開發方式? 請開發人員接受一個事情,就是presentation(展示層)的UI開發技術,是每隔兩三年就會大改一次的,ASP.NET從2002年誕生到現在,共四個版本,也不過八九年,中間還有AJAX技術進來攪局和jQuery的崛起,還有現在的MVC設計模式,這些技術都是持續在精進與改變的,不多人在2005年之前,會預知後面AJAX應用成長的那麼快(中間也跟網際網路頻寬與行動裝置拖不了干係),而現在也不多人能100%論定是否HTML5將變成未來可能的一種趨勢。 如果你比較Flex/Silverlight/HTML5,然後開始聽到iOS對Flex有些疑惑,Silverlight沒法跑在iOS和android上,HTML5又不夠成熟,那怎麼辦? 要投資哪一個? 哪一種技術可以讓你長治久安? 長治久安? 答案當然是沒有! 沒有一種開發技術是可以讓你在這個變動迅速的時代,軟體生命週期爆低的世代,可以長治久安的。沒有! 但你確實可以選擇一個對自己來說投資成本比較低的方案,例如,著眼在跨平台,不同的device對你來說差不多,只是呈現出一個介面,你不會用到Device上的LBS或Camera,大部分的運算在伺服器端,那ASP.NET/JSP/PHP依舊是比較好的選擇。如果,你要建置的是企業內的...

Refactor! for Visual Basic 2008

前陣子由於工作上開發一些專案, 自己動手下去認真的寫了一些Code, 先前沒有特別留意, 總覺得VS2008在撰寫VB的時候有點彆扭, 又說不上來哪邊不對...後來碰巧回頭用了以前安裝的VS2005環境才恍然大悟發現少了一個過去我在VS2005寫程式的重要工具 Refactor! for Visual Basic... 趕緊到網路上找了一下, 果然有也有2008的版本 Refactor! for Visual Basic 2008, 底下是下載位置: http://msdn.microsoft.com/en-us/vbasic/bb693327.aspx VB developer不可或缺的重要工具。 (BTW, 我不確定是否支援中文版VS2008, 使用時請自行留意)

從Silverlight開發架構看到的一些感慨

最近在撰寫Silverlight的文稿(書稿和雜誌稿)、範例、和一些課程教材的時候,看到Web開發技術的發展回頭對比台灣的開發環境實在有一些感慨。 先講第一個,話說從頭,有一陣子我介紹了ASP.NET上的MVC,MVC這個架構是個好的Pattern,可以幫助開發人員達成建構出有架構、便於更新維護、便於抽換的應用程式,問題是這是(只是)一個規範、一個樣式,所謂的規範就表示,你應該遵循藉以得到一些好處,但是有趣的是,規範這個東西在台灣不見得一定會被遵循,老實說我本來以為在全世界都是這樣,但是根據我的觀察,在台灣這個狀況比較明顯,反觀我在台灣以外的一些合作夥伴和團隊,對於 "規範" 這個事情的嚴謹度和遵守(你也可以說是死板),超過了我的想像和期待。 我舉幾個簡單的例子: 1.估時程:我常常看到,為了爭取到某一個案子,在時程評估的時候,就已經放棄架構了,我們給了客戶一個若要遵循架構就根本不可能達成的預計完成時間。 2.當進度落後:當進度落後的時候更慘,本來SA,SD花時間想好的架構,可以因為進度理由一夕之間失效,更有趣的是,這個架構可能是先前花了兩三個月決定的,但是Developer+PM可以在一天內推翻。 3.當客戶要求不合理:一樣的狀況, 有時候客戶會有一些超越常態或是超越技術可能性的要求,為了成案,往往PM答應的莫名其妙,而怪的是,最後還是可以做得出來,天知道這後面隱藏了哪些可怕的東西。 剛講到MVC和所謂的規範,可能很多人對我說的 "規範" 的定義不清楚,舉個ASP.NET開發人員應該要知道的例子,有幾個我所謂的規範簡單的具體例子就是: 1.ASP.NET頁面(.aspx和.aspx.cs 或.aspx.vb)當中,不得有ConnectionString or SQL指令。(你應該寫在一個表(不管是資料表或是對照表)當中,以便於後續維護。(但是,誰敢說自己的.vb或.cs中沒有SQL指令碼?我看是一堆吧...) 2.ASP.NET程式碼當中不該有商業邏輯,只能有處理UI的Code, 也就是說,你應該要有一個Business object。 3.超過100行的Method或Sub, Function 應該再切割。 類似像上面這樣的說習慣也好, 說規範也行,是不應該被打破的,但是,有多少因為時程關係而破壞規範的例子? 多的慘不忍睹...

在沒有LAN的狀況下讓host與VPC以網路通訊

圖片
不知道從幾年前開始,VPC從消遣打發時間的玩具,升級成我每天工作必備的開發/測試工具,雖著VPC使用的時間越多,其中的應用也越來越多元化。 一般來說,我的工作地點都有無線網路可以使用,我的作法會是讓host(我的主機, 也就是NB),跟VPC各拿一個IP,儘管用的是同一張網卡(VPC設定為一張網卡, 對應到host上的真實網卡),但是由於各自有一個真實IP,因此資料傳輸上沒有任何問題。 這個需求不是用來複製檔案,複製檔案從host拖曳到VPC裡面即可,不用繞來繞去透過網路那麼辛苦,這個需求多半是開發Client-Server之間的應用程式以及測試,因此會需要實際有兩個IP進行互動。 但是,在很多情況下我抓取不到兩個IP: 1. 根本沒有無線網路,連一個IP都沒有 2.有無線網路,但是並不是DHCP,連線也有限制,典型像WiFly,你沒辦法讓VPC有一個獨立的IP, VPC還是可以透過NAT方式上網,但是沒辦法和host以IP對IP的方式溝通。 碰到這種情況,殺手鐧就要來了,前陣子跟Michael學到一招不錯,記下來和大家分享,首先,你可以在host上安裝一張虛擬的網卡,名稱為:Microsoft Loopback Adapter: 接著設定這張網卡為固定IP,例如192.168.20.10: 然後將VPC的虛擬網卡設定,增加成兩張網卡(你可以一張設為NAT,一張設為Microsoft Loopback Adapter): 接著把VPC裡面,對應到Microsoft Loopback Adapter的那張網卡IP設定為同一個網段的固定IP,例如192.168.20.20: 你也可以順手把VPC中的另一張網卡設為DHCP。 接著,回到host,試著ping 192.168.20.20,你會發現host已經可以透過網路方式連線到VPC裡面的IP位置: 這樣的做法,可以讓我們在沒有LAN的環境下,在VPC中架設Server,然後從host當中進行存取,或是相關的測試。

安裝完VS2008 SP1之後Silverlight 2.0無法開啟?

圖片
安裝完VS2008 SP1中文版之後Silverlight 2.0無法開啟? 看到底下錯誤訊息: 是的,沒錯,請重新下載安裝中文版的Silverlight_chainer.exe: http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=50a9ec01-267b-4521-b7d7-c0dba8866434 Silverlight Tools Beta 2 for Visual Studio 2008 SP1 (Silverlight_chainer.exe)包括: Visual Basic 和 C# 專案範本 Intellisense 和 XAML 程式碼產生器 Silverlight 應用程式偵錯 Web 參考支援 WCF 範本 的Silverlight 範本 Team Build 和命令列建置支援 Expression Blend 整合

.net framework 3.5 service pack 1 & V2008 service pack 1 正式推出

等待已久,眾多 SP1終於同步推出,SP1所帶來的改變不小,如果你覺得從ASP.NET 2.0到ASP.NET 3.5的新功能出奇詭異的少,那請別懷疑,SP1可以大幅滿足你的需求,因為很多新功能都出現在Service pack1了,目前你看到的SP1(VS2008 Sp1和.NET Framework 3.5SP1)包含了一些本來在ASP.NET 3.5 extendsions的功能,改變真的很多,除了MVC尚未納入之外,我所期待的針對 ASP.NET 3.5 的改變幾乎都上來了... 正如同先前說過的,ASP.NET 3.5已經從開發portal的小工具,變成可以登大雅之堂的Web Solutions開發工具,各種該支援的架構都支援了(喔...除了MVC ^_^),不過,光是底下這些,我相信就可以讓大夥玩很久了... 對於ASP.NET開發人員的改變如下: ASP.NET Data Scaffolding Support (ASP.NET Dynamic Data) 是的,ASP.NET Dynamic Controls,我在MSDN研討會講過囉,還有影片介紹,我先幫各位玩一下,過幾天再錄個影片和大家分享。 ASP.NET Routing Engine (System.Web.Routing) 新的URL Rourting機制,在Dynamic Data Controls和MVC裡面都會被用到。 ASP.NET AJAX Back/Forward Button History Support 小東西,讓AJAX機制支援上一頁下一頁,有影片介紹。[ 瀏覽 ] ASP.NET AJAX Script Combining Support ScriptManager控件的一點點JavaScript檔案處理效能提升。 Visual Studio 2008 Performance Improvements HTML Designer and HTML Source Editor 顧名思義,這部分是VS2008在HTML編輯上的效能提升。 Visual Studio 2008 JavaScript Script Formatting and Code Preferences Better Visual Studio 支援了一些檔案編輯與JavaScript格式處理的能力。 Ja...