Browse by Tags

再談組件版本導向技巧與Copy Local屬性
組件版本相容是常見的.NET實務問題。用以下的解決方案舉例,假設有個 MyConApp Console Application參照 MyLib Class Library,兩個專案都用NuGet裝了Newtonsot.Json(Json.NET)組件,差別在MyConApp用的是Json.NET 7.0版,MyLib用的則是6.0版。 不意外地,因為Json.NET版本不同,將會出現版本相容錯誤: FileLoadException was unhandled 無法載入檔案或組件'Newtonsoft...
Posted 13 October 2015 06:37 AMJeffrey | with no comments 4,567
Filed under: ,
NuGet Packages資料夾該不該加入TFS版控?
這年頭用Visual Studio寫程式已經離不開NuGet了!NuGet會在每個專案新増packages.config記錄已安裝Package及版本,在解決方案(.sln)檔所在資料夾則會建立packages保存各專案的NuGet Package DLL實體,放在解決方案層級的好處是方便Package檔案共享,專案A裝過NLog,專案B要安裝NLog時就不需要重新下載,直接參照packages裡的nlog.dll就好。 從NuGet 2.7起,Visual Studio預設啟用Automatic...
Posted 21 January 2015 08:33 PMJeffrey | 3 comment(s) 12,958
Filed under: ,
Parallel.For翻船事件剖析-使用Concurrency Visualizer
網友Loops 留言 分享了一段程式:使用Parallel.For進行平行運算,原本測試平行運算速度勝過循序運算,卻迴圈加入一行Console.WriteLine("{0}", index)後情勢逆轉,跑得比循序迴圈還慢! 直覺推測此一現象肇因於Console為共用資源,多執行緒同時存取時涉及資源鎖定、協調同步、Context Switch等運作機制,衍生額外計算及IO。當平行處理邏輯複雜度不高,這些額外成本抵消掉平行處理的效益,甚至弊大於利,最終導致執行效率比循序處理還差。這點在...
【笨問題】在Visual Studio解決方案直接執行特定專案
大家有沒有遇過這種情境? Visual Studio解決方案(Solution, .sln)中有多個專案,其中有一個以上可直接執行(如Windows Form、Console Application、Web)。我最常遇到的情境是 -- 以Web為主的解決方案裡有轉檔用Console Application程式(要在App_Data建立資料檔)或是依Schema自動建立ViewModel的程式產生器。Web專案才是主角,故解決方案的起始專案(Startup Project)會設成Web專案,方便按下F5就能測試及偵錯...
在專案新增OWIN Startup類別
新增了一個MVC專案要測試SignalR,透過NuGet安裝 Microsoft.AspNet.SignalR.Sample ,依照readme.txt指示,需在 OWIN Startup 中加入: Microsoft.AspNet.SignalR.StockTicker.Startup.ConfigureSignalR(app); 這動作上回做個一次,在ASP.NET專案下有個Startup.cs,把程式擺進去就好,但這回不知為何專案根目錄卻不見Startup.cs蹤影? 爬文得知,專案範本中有Startup的項目可用...
Posted 02 December 2013 09:35 PMJeffrey | with no comments 7,704
Filed under: ,
將VSS版控的Visual Studio方案切換成TFS
手上有個Visual Studio方案(.sln)原本使用VSS(Visual Source Safe)進行版控,用Visual Studio 2013開啟移除舊版控設定,想切換Source Control Plug-in想改成TFS,冒出以下訊息: The active solution or project is controlled by a different souce control plug-in than the one you have selected. If you change...
TIPS-Visual Studio在Windows 8無法使用【Ctrl+.】快捷鍵
Windows 8對中文輸入法做了大翻修,內建的新版倉頡輸入法,缺乏自動選字,少了幾個快捷鍵,難用到讓人想哭。幸好已經有在Windows 8安裝新倉頡(對Windows 8而言明明是舊的 XD)、新注音、ㄅ半注音的 解決方案 ,否則少了順手的輸人法,用起Windows 8像新鞋磨腳一般讓人阿雜。 即便找回新倉頡,在使用Visual Studio時還是有個不小的困擾,就是Windows 8的中文輸入法綁架了【Ctrl+.】,當成輸入"。"(中文句點)的快捷鍵,偏偏它也是我習慣用來呼叫智慧標籤...
【茶包射手日記】看得到吃不到的Visual Studio專案參考程式庫
遇到一個怪異情境: 由他處取得的專案原始碼,編譯時出現錯誤訊息,抱怨專案沒有參考某個第三方元件--Quartz.dll。但如下圖範例,右側專案參考清單中明明有Quartz這顆元件,但左側using Quartz卻回應找不到Quartz命名空間,光視覺上就很矛盾! 其實過去已有類似經驗,問題多與.NET Framework版本有關,例如: .NET 2.0專案參考.NET 4.0元件、或是.NET 4.0 Client Profile專案參考.NET 4.0元件時就會產生這種結果。而詭異的是,該顆Quartz...
Posted 25 February 2013 09:34 PMJeffrey | 1 comment(s) 15,167
Filed under:
【茶包射手日記】Add As Link導致專案無法加入VSS
一個Solution包含ProjectA,並已簽入VSS Source Control。 後來在Slution中新增ProjectB,在ProjectB中使用 Add As Link 功能繫結加入ProjectA下的一個Class(HttpToolbox.cs)。程式寫好測試妥當,想將ProjectB也加入VSS時,彈出以下錯誤訊息: The project X:\Projects\MySln\ProjectB\ProjectB.csproj cannot be added to source control...
【茶包射手日記】OracleClient偶發Load a Program with an Incorrect Format錯誤
同事在Visual Studio 2010( ASP.NET Development Server )執行Web Site專案進行偵錯,某段以OracleClient執行Oracle指令的公用方法,在某些情境下OracleConnection.Open()會彈出"An attempt was made to load a program with an incorrect format.",但大部分時候卻又正常。而同一支程式,在其他機器的VS2010及測試台IIS上執行都沒有問題...
建立VS2010專案項目範本
針對簡單的AJAX前後端整合程式範例,我很愛以下這種HTML + JavaScript + C#三合一寫法: <%@ Page Language="C#" %>   <! DOCTYPE html>   < script runat ="server" > void Page_Load( object sender, EventArgs e) { } </ script >   <html>...
Posted 17 January 2012 11:46 PMJeffrey | with no comments 10,420
Filed under:
【茶包射手日記】Visual Studio單元測試暫存檔
我的工作機有16G RAM,日常開發加上跑了幾個VM,記憶體還有剩,於是便切了2GB出來做Ram Disk,並把Windows暫存目錄設在Ram Disk上,多少能提高一些效能(延伸閱讀: 保哥的介紹文 )。這個配置方式已順利運作 近半年 ,最近卻發現,看似充裕且每次重開就清空的2GB空間,居然有被用完的一天。心想工作複雜系統操勞,暫存檔案偏多在所難免,既然記憶體還有餘,就再加大到4GB好了。沒想到不到兩天的時間,4GB的Ram Disk又被用光,感覺事有蹊蹺,茶包射手於是主動介入調查。 開啟 WinDirState...
TIPS-將Manifest內嵌至EXE檔案
照著 MSDN Create and Embed an Application Manifest (UAC) 一文的說明,為.NET程式附加.manifest檔案註記為需管理者權限執行,並在Visual Studio專案屬性的Post Build Event中加入 mt.exe -manifest "$(ProjectDir)$(TargetName).exe.manifest" -updateresource:"$(TargetDir)$(TargetName).exe;#1"...
Posted 31 August 2010 07:30 PMJeffrey | with no comments 7,780
Filed under: , ,
網站下載程式碼後無法編譯
從 CodePlex 下載SourceCode回家玩,Build時卻發生錯誤: The "ValidateXaml" task failed unexpectedly. System.IO.FileLoadException: Could not load file or assembly 'file:///C:\WorkRoom\WP7\3rdParty\PhoneControls\Phone.Controls.Samples.dll' or one of its...
Posted 15 August 2010 03:58 PMJeffrey | with no comments 6,740
Filed under: , ,
【笨問題專欄】啥? 原來Visual Studio可以Add As Link
我們在做專案時,在一個Solution中,常有多個專案共用Class的情形,例如: 在Service端定義了一組傳遞資訊的物件,在呼叫端也會用到、或是某個提供工具函數的類別,對多個專案來說都有用。此時,標準做法是另外建一個獨立的類別庫專案(Class Library),將要共用的類別放進去,多個專案再參照此一專案。 不過有很多時候只為了一個類別多搞出一個DLL,感覺上太過隆重,有時我會偷懶,只將.cs複製到另一個專案裡就算了。但只要是複製,就會衍生同步的問題,一旦要修改類別內容,必須同時修改多處...
Posted 16 May 2010 04:23 PMJeffrey | 9 comment(s) 12,607
Filed under: ,
更多文章 « 上一頁

搜尋

Go

<January 2018>
SunMonTueWedThuFriSat
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication