1. 程式人生 > >這些.NET開源專案你知道嗎?讓.NET開源來得更加猛烈些吧

這些.NET開源專案你知道嗎?讓.NET開源來得更加猛烈些吧

注意:有網友提出部分專案停止更新的事情,這個問題我特意注意過,很多都是小功能元件,功能穩定,沒有bug,沒更新是正常的。夠用就行了。其次技術支援的事情,對開源免費來說,不能太強求,這裡釋出的都是小功能元件,一般看原始碼也比較好理解,各取所需。當然有最好。。

  長期關注和使用.NET開源專案,給我帶來了很多好處:

1.可以快速完成我的想法,也就是所謂的業務細節,而不是關注如何實現;

2.可以更快更穩定的完成需求,而不是自己造輪子實現,花費時間;

3.從.NET開源專案的使用以及原始碼閱讀中也會帶來一些好處;

       實際上並不是說造輪子不好,而是本來技術功底和專業水平就不夠,實在造不了。所以感謝開源社群,感謝C#,感謝那些參與和共享開源專案程式碼的人,有了你們,我才進步更快。08年比較正式開始接觸C#,並用來完成研究生階段所需要的任務以來,接觸過很多開源專案,特別是經常去Codeplex,CodeProject,以及現在更加流行的github。上個月發表了一篇關於.NET平臺開源的機器學習元件文章:,非常受歡迎。所以特意把自己這些年發現的一些專案總結出來,獻給大家。

      現在微軟對開源態度越來越明確,動作越來越大,所以讓我們更加關注.NET平臺的開源專案。考慮到類似的彙總很多,所以我並沒有列出一些常見的,而是列出一些不常見的。如果和部分文章有重合,純屬偶爾。以下排名不分先後,都是功能性質,大家收藏保留備用吧。另外部分開源專案的使用和介紹我將通過部落格專題釋出,將選擇幾個比較通用的元件,每一篇介紹其功能和基本使用,請大家關注部落格的動態。

    這次先整理出15個個人認為比較好的專案。後面有時間還整理出15個左右。主要是每一次碰到了都往收藏夾裡面塞。。。現在收藏夾都成這個樣子了(縮圖,點選放大):

  所以原諒我,不能把所有的都發上來,太雜了,反而不好。

1..NET時間週期處理元件

    這個元件很小,主要是對時間日期,特別是處理時間間隔以及時間範圍非常方便。雖然.NET自帶了時間日期的部分功能,但可能還不強大。這個元件就是增強版本。詳細功能可以看專案主頁的介紹。在CodeProject:

2.OxyPlot繪圖元件

    OxyPlot是一個.NET跨平臺的繪圖元件,關注很久,但還沒用過,以前用的是ZedGraph,感覺是醜了點,但當時不知道OxyPlot。微軟從.NET 3.5開始也提供了一個繪圖控制元件MS Chart,也比較好用。這個元件從外觀上來說,更加簡潔,所以實現也應該更加簡單,大家看看可以用在什麼場合。看看這個圖是不是很清爽。。。

3..NET平臺CAD建模元件AnyCAD

    對我來說,用.NET來操作CAD檔案是一個多麼可怕和充滿幻想的事情,但直到一次偶然的機會碰到它了,也改變了我的想法。當然這個元件是有商業的,也有免費版本。對普通使用者來說,非常棒,雖然可能大部分人用不上,但收藏一下,備用吧,沒準那天就要用了。

4.SharpConfig配置檔案操作元件

    SharpConfig是一個使用非常簡單,功能單一但強勁的開源.NET類庫。讓複雜的配置檔案操作變得和操作物件一樣簡單,是不是很有趣。關於這個元件我會單獨寫一篇使用和介紹的問題,因為的確很誘人。看個截圖:  

5.MailSystem.NET郵件元件

    MailSystem是一個.NET平臺開源的郵件處理元件,支援SMTP, POP3, IMAP4, NNTP, MIME, S/MIME, OpenPGP, DNS, vCard, vCalendar, 反垃圾郵件,查詢合併等功能。如果要在非GPLv3軟體使用,必須獲得商業許可。

6.Compare .NET Objects物件比較元件

    這個元件的主要功能如名字所示就是深入比較2個.NET物件,是否相等或者是否有差異。可能很多.NET物件實現了一些.NET自帶的介面可以直接進行比較,但是這個元件比較的範圍和功能更加廣泛。例如:

    可以比較預設的子節點;

    可以比較結構體;

    可以比較IList物件;

    可以比較單維或者多維的陣列物件;

    可以比較列舉型別;

    可以比較IDictionary物件;

    可以比較資料集,資料表,字典等等;

    可以比較私有欄位或者屬性等等。。。

    還有很多,不一一列舉,可以去官網詳細瞭解。

7.Security Library安全元件

    這是一個.NET平臺安全相關的開源元件,由於這方面個人瞭解比較少,沒有深入研究,目前支援SSL和TLS,證書管理,以及加密轉換。

8.NLocalizer本地化多語言元件

    多語言,本地化是很多人研究過的,也許都有自己的解決方案。這個NLocalizer目的就是方便.NET的開發者可以快速構建多語言的軟體,使用也很簡單。官方提供了一個案例,可以直接獲取現有Winform專案所有的控制元件的值,進行編輯即可實現多語言。

9.PhysicalMeasure計量單位元件

    PhysicalMeasure專案是一個物理單位和計量系統,支援不同計量單位間的轉換。雖然這個東西很少有人用到,不過還真碰到過有一個朋友做類似的東西。這個東西雖然想起來簡單,但實際做起來還是比較費勁的,主要是做全面和穩定。所以平時見得多了,有時候碰到需求了,思路就來了,再就是多看看新聞,看看別人的經驗的好處。

10.Database Schema Reader

    Database Schema Reader是一個開源的資料庫架構獲取個工具。很多多ORM或者程式碼生成的人可能會用到。對於支援多種資料庫的ORM是比較有用的,當然其他用途也有,比如生成資料庫字典文件之類的。。。大家盡情發揮好了。目前支援的資料庫非常廣泛,例如:SqlServer, SqlServer CE 4, MySQL, SQLite, System.Data.OracleClient, ODP, Devart, PostgreSql, DB2等等。

11.SDS:面向科學資料集的元件工具

    SDS(Scientific DataSet library and tools)是一個面向.net開發人員讀取和共享各種科學資料的工具,支援 CSV, NetCDF 以及其他檔案格式。

12.LiteDB檔案資料庫-NoSQL

  LiteDB是一個小型的.NET平臺開源的NoSQL型別的輕量級檔案資料庫。特點是小和快,dll檔案只有200K大小,而且支援LINQ和命令列操作,資料庫是一個單一檔案,類似Sqlite,其他功能就細說了。有空看官網檔案,這個資料庫我會寫一篇介紹和使用文章。

13.CSharpCompiler

  CSharpCompiler是一個.NET平臺開源免費的在程式設計師中編譯C#原始碼的元件,可以做的事情很多,例如用它來實現C#寫指令碼。。。。以及用來建立自己的C# IDE編輯器等等。例如官方的一個例子:  

  

14.博易部落格

  博易部落格是一款免費、開源的部落格系統。它是基於 BlogEngine.NET 進行中文字地化,並將其努力在中國進行推廣和應用。遵循 W3C 標準,具有極強的可擴充套件性、高效能、良好的 SEO 效能和非凡的使用者體驗。想自己搭建部落格的朋友,這是一個不錯的選擇。如下圖是一個風格的部落格介面:  

15.小泥鰍部落格系統

  小泥鰍部落格系統也是一個.NET平臺的開源免費部落格系統,創建於2008年夏天,基於.Net平臺開發,擁有完整的文章釋出,評論,訂閱,標籤等功能,滿足個人/團隊資訊釋出需求,可作為Blog,CMS,甚至建企業站。有靈活的模板機制,可以自定義關鍵字,自定義Url,SEO 優化,完美支援離線寫作。如:Windows Live Writer(推薦)(教程),Office Word 2007,支援包括RSS訂閱,評論訂閱,多種性質的郵件訂閱等。這個專案可以作為學習使用,參考了不少開源元件。

  今天就到此為止,欲知後事如何,請聽下回分解。。。剩下的,朋友們,狂點贊吧。。。。

相關推薦

這些.NET開源專案知道?.NET平臺開源文件與報表處理元件集合(三)

    在前2篇文章這些.NET開源專案你知道嗎?讓.NET開源來得更加猛烈些吧 和這些.NET開源專案你知道嗎?讓.NET開源來得更加猛烈些吧!(第二輯)中,大夥熱情高漲。再次拿出自己的私貨,在.NET平臺處理文件相關的開源元件。文件處理在開發中是一個非常常見的任務了,例如匯出Excel,匯出Word,

這些.NET開源專案知道.NET開源來得更加猛烈!(第二輯)

    在上個月發表的一篇文章:這些.NET開源專案你知道嗎?讓.NET開源來得更加猛烈些吧 ,得到了很多朋友的響應。同時也有很多朋友直接進行使用,反應非常棒,雖然不是每一個都用得上,只要有一個用得上,其實也不錯了,其他的就留著收藏,以後說不定用得上。最近再次整理一些比較實用的.NET開源元件,如果大家有

這些.NET開源專案知道.NET開源來得更加猛烈

注意:有網友提出部分專案停止更新的事情,這個問題我特意注意過,很多都是小功能元件,功能穩定,沒有bug,沒更新是正常的。夠用就行了。其次技術支援的事情,對開源免費來說,不能太強求,這裡釋出的都是小功能元件,一般看原始碼也比較好理解,各取所需。當然有最好。。   長期關注和使用.NET開源專案,給我帶來了很多

Docker技術這些應用場景,知道

docker docker應用場景 場景一:節省項目環境部署時間1.單項目打包每次部署項目到測試、生產等環境,都要部署一大堆依賴的軟件、工具,而且部署期間出現問題幾率很大,不經意就花費了很長時間。Docker主要理念就是環境打包部署,可在任意Docker Engine運行。前期我們只需要將每個項目環境

5大移動/前端開源專案知道幾個?

5大移動/前端開源專案Freeline、ARouter、BeeHive和Weex、antd,你都知道嗎? BeeHive:一種大型iOS專案解耦框架,BeeHive框架意義在於將高複雜度的應

移動端適配方案-解析度來的更猛烈

前言 公司許多的業務都還停留在使用px和彈性佈局來進行樣式處理的階段,有些時候是因為視覺要求,有些時候是害怕線上問題,所謂破而後立。 移動端適配方案是一個老生常談的話題,但是對於不同的專案、不同的業務場景可能會需要不同的適配方案來進行移動端適配,向下相容的baseline也需要提前訂好。 整體寬高 其

第12期 《暴風雨來得猛烈!》 8月刊

1、分佈一致性 —— 任傑   自薦理由:分散式一致性簡單解析,這裡的Consistency(一致性)是指分散式系統中的資料一致性,而非資料庫事務ACID特性中的Consistency。 2、spring-data-redis-註解方式實現快取 —— 楊曉風   自薦理由:此

如何iOS 保持介面流暢?這些技巧知道

作者:ibireme這篇文章會非常詳細的分析 iOS 介面構建中的各種效能問題以及對應的解決思路,同時給出一個開源的微博列表實現,通過實際的程式碼展示如何構建流暢的互動。 Index 1.演示專案 2.螢幕顯示影象的原理 3.卡頓產生的原因和解決方案 CPU 資源消耗原因和解決方案

Java這些冷知識知道

除了 數據 多核 語言 cli 字母 不知道 scrip 導致 1)jvm有很多種,其實jvm是一個標準,sun做的那個叫hotspot,作者就是後來v8的作者lars bak,其他公司也做過jvm,其中做得比較好的有bea的jrockit,其他的包括ibm的r9,appl

Python通向百萬程序員的秘籍!這些技巧知道?99%的不知道

concat code 等價 基本 count except args bug 描述符 Python神奇方法是指一些允許在自定義類中增加“神奇”功能的方法。而在Python官方文檔中,有關這些方法的介紹或描述不僅內容分散,而且組織結構也相對松散。本文便對Python

場外交易系統的這些優缺點知道

一些業內人士認為,OTC是必不可少的市場,世界上第一個全棧式加密貨幣生態系統公司Bcause創始人認為:“如果某些幣種具有流動性,那麼它完全可以通過場外交易流通。” 儘管OTC具有隱祕、快捷、出入金方便等優點 1、“點對點”更靈活、點對點交易系統開發 進行大額交易的人大多選擇OT

雲端計算的這些優勢知道

雖然虛擬化技術能夠通過對伺服器負載、桌面,以及應用程式進行虛擬化,幫助企業解決這些問題,但某些挑戰依然存在。例如,隨意對伺服器負載進行虛擬化會導致虛擬機器的漫延,在解決一個問題的同時造成另一個問題。 雲端計算通過為業務提供改善敏捷度同時降低成本的新方法,有助於解決這些問題。例如,通過為 I

知道?未來我國大資料應用技術的發展將涉及這些熱點領域 大資料

在貴州省貴陽市舉行的2018中國國際大資料產業博覽會上,參觀者在參觀城市網路安全運營中心。新華社記者 陶亮 攝 近日釋出的《中國大資料應用發展報告》顯示—— 目前,我國網際網路、移動網際網路使用者規模均居全球第一,有著豐富的資料資源和顯著的應用市場優勢。隨著打

這些行業知識知道

  可能我們每天都在使用瀏覽器搜尋各種未知的問題,那你知道瀏覽器的發展史嗎?你可知道微軟,Google和雅虎競爭搜尋市場的歷史?有可能你會說,我又不care,it’s not of my bussiness!? OK,沒問題,那我們繼續往下看。   那首先我們得

#程式設計師,這些IDE的優缺點都知道?總有適合

1:eclipse   這是應用比較廣泛的一款針對於Java的IDE,其本身是一個框架平臺,但是支援很多的外掛,如C++和Python的,它可以及時檢查以及糾正你程式碼中的錯誤,並且你只需點下滑鼠就可以完成編譯執行,非常適合新手上手,而且是完全免費的。但是因為其啟動速度較慢,

制定程式碼規範並不難,但知道如何它可執行

策劃:erichua23 編輯:郭蕾 回想起來自己工作這麼些年,也經歷了不少團隊,經歷的專案更不算少了, 但是要說到程式碼規範, 問我我經歷的這些程式碼規範是不是滿意,我不得不如實回答:不是很滿意。當然我自己的程式碼規範和風格也沒有完全固化下來,近一年左右也開始關注到這個問題,為了讓自己的程式碼風

用Java這麼多年,這些祕密知道

對於這些祕密中的每一個,重要的是要注意它們中的一些,例如數字下劃線和快取自動裝箱在應用程式中可能是有用的,但是其他的(如單個Java檔案中的多個類)已被降級到backburner一個原因。因此,僅僅因為語言中存在的功能並不 意味著它應該被使用(即使它不被棄用)。相反,判斷應該用於何時應用這些隱藏功能。在研究好

知道?張小龍的四小時演講沒有用過這些

昨晚(1月9日)微信之父張小龍的拖堂四小時演講,讓不少網友認真“研讀”。而網友@崔翔宇_採銅則發現了一個奇怪的現象,有很多大家都在說的詞,耳朵裡聽出老繭的詞,張小龍一個字都沒提。正是因為張小龍沒有提,我們看到了更多值得思考的東西。網友@崔翔宇_採銅把張小龍的講稿(張小龍4小時“拖堂”演講,全面總結微

HashMap這些問題知道

HashMap是Java面試中的常考點之一,而且其<Key,Value>結構也是開發中常常用到的結構之一。或許你使用過HashMap,但是你知道下面這些問題嗎? HashMap的底層結構是什麼? 如果你能說出是陣列+連結串列,那麼你知道1.8版本之後引入的紅黑樹嗎? 說道紅黑樹,你知道它的結

Android執行緒與執行緒池的這些知道

在Android中,執行緒分為主執行緒和子執行緒,主介面用於與使用者互動,進行UI的相關操作,而子執行緒則負責耗時操作。如果在主執