A. 關於.net編譯器的問題
如果你的C++文件是在vc6.0,用VC.net打開.dsw文件,VC.NET自動轉換到vc.net的格式.然後就可以編譯了.如果你是一個經驗豐富的人.習慣用notepad.exe或是別的簡單的文本編輯器寫的源代碼,然後用c++的編譯命令在cmd命令行下編譯,你可以在cmd命令行下試試這個幾文件C:\Program Files\Microsoft Visual Studio 8\VC\bin(我的機器是安裝在這個目錄下,你的版本如果不是VS2005版,目錄名還不一樣)cl.exe link.exe.怎麼樣,是不是有點象turbo c東東拉.象我這樣的生活在快束開發,IDE環境里的coder不知道什麼用它了.你再根據我這些信息在網路中搜索一下.
B. Visual Basic .NET的編譯
.NET語言,包括VB.NET,它們所開發的程序源代碼並不是直接編譯成能夠直接在操作系統上執行的二進制本地代碼,而是被編譯成為中間代碼,然後通過.NET Framework的通用語言運行時(CLR)——執行。所有的.Net編程語言都被編譯成這種被稱為MSIL(Microsoft Intermediate Language )的中間代碼,這與Java的位元組碼類似。因此雖然最終的程序在表面上仍然與傳統意義上的可執行文件都具有「.exe」的後綴名。但是實際上,如果計算機上沒有安裝.Net Framework,那麼這些程序將不能夠被執行。在程序執行時,.Net Framework將中間代碼翻譯成為二進制機器碼,從而使它得到正確的運行。最終的二進制代碼被存儲在一個緩沖區中。所以一旦程序使用了相同的代碼,那麼將會調用緩沖區中的版本。這樣如果一個.Net程序第二次被運行,那麼這種翻譯不需要進行第二次,速度會明顯加快。
VB.NET代碼之所以不直接編譯成二進制機器碼,是基於.NET跨平台這一目標的考慮。 Visual Basic .NET 2002
2002年Visual Basic .NET 問世,此後Visual Basic 包含在 Visual Studio套裝中。該版本又被稱為VB 7.0,是與C#一起在2002年發布的最初始的VB.net版本。C#是一門新設計.Net語言並且語法上和Java有一定的相似性,所以被大力宣傳為微軟對付JAVA的王牌,受到媒體極力關注。然而VB.NET則相反被錯誤地認為僅僅是VB的一個升級(故有時被稱為VB7),它的受關注度也因此較低,當然VB社區以及喜歡Basic系列風格的語言的人還是很關注它的。那些試用過此版VB.NET的人在層層幕布下發現一個強大卻艱深的語言。不過任何一種語言都是有弱點的,當然後面這一點也是.NET語言的共性,那就是運行的計算機上必須裝相應版本的.Net framework。
Visual Basic .NET 2003
該版本是和.NET Framework 1.1一起發布的。新功能包括對.NET Compact Framework的支持和更好的VB升遷向導。並改進了運行狀況,IDE穩定性(尤其是後台編譯器),以及運行時RunTime穩定性。另外,VB.NET2003還有一個學院版Visual Studio .NET 2003 Academic Edition (VS03AE),它是分發給各國某些學者免費使用的版本。
Visual Basic .NET 2005
該版本是VB.Net的重大轉變。但是這個版本的 Visual Studio 仍然還是面向 .NET 框架的(版本2.0)。它同時也能開發跨平台的應用程序,如開發使用微軟操作系統的手機的程序等。總體來說是一個非常龐大的軟體,甚至包含代碼測試功能。
Visual Basic .NET 2008
Visual Basic 2008於2008年2月1日發布。通過幾年的發展,它已成為一種專業化的開發語言和環境。用戶可用 Visual Basic 快速創建 Windows 程序,現在還可以編寫企業水平的客戶/伺服器程序及強大的資料庫應用程序。
Visual Studio 2010
Visual Studio 2010於2010年4月12日上市,其中包含 Visual Basic .NET 2010 。Visual Studio是微軟公司推出的開發環境。是目前最流行的Windows平台應用程序開發環境。Visual Studio 2010集成開發環境(IDE)的界面被重新設計和組織,變得更加簡單明了。Visual Studio 2010同時帶來了 NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview--CTP),並且支持開發面向Windows 7的應用程序。除了Microsoft SQL Server,它還支持 IBM DB2和Oracle資料庫等。
Visual Studio 2012
從該版本開始VB.NET已沒有單獨發售的IDE了,微軟給Visual Basic .NET 以及C#開發者的IDE就只有Visual Studio 了。該版本增加了modern(原metro)風格的支持等眾多新特性。
Visual Studio 2015
增加了大量新特性,提升你的編寫效率。對編譯器和開發環境優化,提高編譯速度,幫你重構代碼和解決錯誤。最明顯的14項改進見參考資料的14 Top Improvements in Visual Basic 14。 不能簡單認為VB .net是VB的新版本。首先它們一個是完全面向對象的語言,而另一個不是完全面向對象的,其次VB .NET是構建於.Net framework之上的。當然,它們同屬Basic系列語言,又同為微軟所開發,語法上有一定的相似或沿襲是很正常的,但不能因此認為VB .NET是VB的升級版。
對於想從VB轉到VB .NET的開發者來說,如果你只是喜歡Basic系列語言的代碼風格,那麼你的遷移會很順利,如果你想沿襲之前VB的編程思想和習慣,你會很苦惱,原因之一就是VB .NET貫穿的是完全面向對象的思想,而VB不是。
微軟為使VB開發者更容易轉到VB .NET,兼容一些VB6函數和庫的用法,但是比不上.NET語言中自帶的可替換的函數和庫來得高效,所以我們應該盡量使用.NET下的新方法。微軟還提供了VB到VB .NET的自動轉換器,雖幾經改進,但仍無法轉換全部代碼,幾乎所有非小型程序都需要人工修改以完成編譯。為了運行優化,大多程序需要大量工作去重構。
爭議與解釋:許多資深的VB程序員抱怨VB .NET,因為VB .NET丟掉了許多不再發行的VB6中使用的大量語言constructs和用戶界面功能,並且對保留下來的東西也改變了語意。其實不應該再把VB和VB .NET做功能上的比較,因為它們除了有些語法相似外,可以說是完全不同的兩種語言。
Visual Basic .NET與VB都代表了Basic系列語言的編碼風格,Visual Basic .NET是這種編碼風格在.NET平台上的繼承,而不是同系列語言VB的沿襲。
語言革命
* 1991年4月,Visual Basic誕生,Visual Basic 1.0 Windows版本發布。這個連接編程語言和用戶界面的進步被稱為Tripod(有些時候叫做Ruby),最初的設計是由阿蘭·庫珀(Alan Cooper)完成的。 1992年9月,Visual Basic 1.0 DOS版本發布。
* 1998年夏天,VB6.0發布。
* 2001年,Visual Basic .NET和.NET Framework發布。Visual Basic .NET正式誕生。
* 2005年,微軟宣布將不會再對非.NET版本的VB進行支持。
*2010年,Visual Basic .NET隨Visual Studio 2010發布,不再提供單獨的Visual Basic .NET IDE。 MONO開發平台提供了一個VB.NET特性庫(VB.NET-specific libraries)並著手研發一個編譯器和Windows Forms GUI 庫。由於各方面的原因,VB.NET開發的開源工具較C#發展得慢一些。
C. .net已編譯的程序,怎麼能知道源碼在哪個文件里
首先確認兩點,第一,你沒改過程序的名字,第二,確定源碼在你能訪問的目錄下,保證這兩點的前提下再看下面的步驟。不能保證那麼就聽天由命吧。
用文本搜索工具(notepad++自帶),去你能確定的最小范圍的目錄下搜索"*.csproj"文件中"<AssemblyName>%程序名%</AssemblyName>"的文件。
找到後,去哪個目錄下,在同級或上級目錄找到"*.sln"文件。如果你安裝了VS,那麼雙擊它打開項目
D. C#源代碼編譯成為本地代碼的編譯過程
很有興趣的話,可以去閱讀下JeffreyRitchie的《ClrviaC#》,目前出到第三版,英文好的話強烈推薦看英文版的,而且我有該電子書和實體書。
下面講下我的理解:大致上不會出什麼差錯的,細節部分你可以參照上面的書籍!
1.首先,c#源碼經過c#編譯器被編譯成託管模塊(IL中間代碼、元數據(Metadata))
2.然後,使用C#編譯器以及程序集鏈接器(AssemblyLinker----AL.exe)將上述託管模塊以及項目的資源文件Combine(整合)成一個程序集(Assembly)
上述程序集就是你所看到的exe文件或者dll文件等等,程序集中包含了manifest描述文件,是該程序集內容以及關系的一個清單,具體的內容你可以參見JR的書跟Java中的類似!
雙擊該exe運行的時候:
3.最後,運行時,CLR裝載對應的程序集,使用內部的三個即時編譯器(常用的為JIT),再去根據本機的環境去進行相應的優化(針對CPU優化等等),即時的翻譯成本地機器指令去執行。
還有一個本地化代碼生成工具,NGen.exe~~
這個最好能去看看那本JR的神作!細節不是我三言兩語能講清的~~
E. 下載的.net源碼怎麼運行
如果你的計算機安裝了.Net環境的話,(Vista以上版本都默認安裝了,XP需要下載.Net Framework來安裝),系統盤上Windows目錄下會有一個Microsoft.Net目錄,裡面的2.0目錄里有相應的編譯器。C#語言的編譯器是csc.exe,VB.Net語言的編譯器是vbc.exe。用命令行的方式就能把源碼編譯成可執行程序。如csc 123.cs 123.exe。你也可以用集成開發環境,如VS2005或VS2008,用他們打開源碼,並添加一個解決方案,就能編譯並調試執行。不過VS2005或VS2008都比較大,幾個G大小,另外還有一個比較小巧又好用的集成開發環境叫SharpDevelop,只有十幾M大小,他和VS2005幾乎一樣好用,並能生產支持Vista界面的程序,不過只能編譯C#源碼。
F. 如何利用ILSPY反編譯工具重建C#NETWeb源碼解決方案
點擊ILSpy.exe運行反編譯軟體。
點擊這個文件夾圖標,選擇你需要反編譯的.net程序
然後就會出現你選擇的程序,如圖
點擊所選程序前面的加號,找到程序的啟動窗口form1,點擊查看代碼
繼續展開每行的代碼前面的「+」號,就可以查看具體的代碼
如果查看的程序太多太亂,你可以右鍵移除該程序,如下圖所示
G. asp.net 如何查看經過編譯過後的源碼
Reflector 下一個去。
把要看的.net程序或dll拖進去就能看了。
看底層的代碼,建議你多看那裡面微軟的東西,看別人沒啥意思。
H. 如何反編譯C#等net軟體類庫源代碼
.Net 反編譯軟體,最著名的是 Reflector。但是最新版本收費現在打開Reflector的老版本要求強制更新到最新版本。所以,你一下在打開refector 會自動刪除。那麼大家可以使用 ILSpy。使用ILspy。
1
下載後的ILSPY 。
打開EXE
6
畢竟.NET 和JAVA 屬於中間語言,很好反編譯。
I. 如何利用ILSPY反編譯工具重建C#NETWeb源碼解決方案
無論是VB.NET還是C#.NET語言開發的APS.NETWEB程序,發布在IIS的虛擬目錄下時,基本上會是三種文件類型(以C#為例):
1,aspx 頁面文件
2,.aspx.cs 頁面文件對應的代碼文件
3,Bin或Assembly 目錄下的.DLL類庫文件。
出於代碼的保密性或代碼源碼的管理需要,項目團隊開發時,會經常性的將一部分與資料庫打交道的代碼封裝到中間層,即.DLL層進行統一管理維護,這一部分.DLL是以文件的形式供調用,不象.aspx.cs文件可以直接用記事本打開進行查看源碼,給我們重新建解方案帶來了一定的困難。但只要能通過ILSPY對這部分.DLL代碼進行反編譯的話,可以很方便,也是很快的重新你的完整解決方案。(此方法也同樣適用於.NET開發的.exe文件)下面是是一些具體的反編譯與重建解決方案的步驟:
1,搜索並下載.NET 反編譯工具IL SPY 。
2,下載後,打開IL SPY的執行文件ILSpy.exe
接下來,需要的就是按步就搬的建立你的.sln方案,在.NET開發環境下添加反編譯出來的.csproj項目,並將原來web發布目錄下的文件加入解決方案中
6,重新解決方案的時間由系統的大小及對.NET開發環境的精通程度決定,一般該引用的引用,該反編譯的反編譯.
J. .NET的.net開源
.NET就是微軟用來實現XML,Web Services,SOA(面向服務的體系結構service-oriented architecture)和敏捷性的技術。對技術人員,想真正了解什麼是.NET,必須先了解.NET技術出現的原因和它想解決的問題,必須先了解為什麼他們需要XML,Web Services 和 SOA。技術人員一般將微軟看成一個平台廠商。微軟搭建技術平台,而技術人員在這個技術平台之上創建應用系統。從這個角度,.NET也可以如下來定義:.NET是微軟的新一代技術平台,為敏捷商務構建互聯互通的應用系統,這些系統是基於標準的,聯通的,適應變化的,穩定的和高性能的。從技術的角度,一個.NET應用是一個運行於.NET Framework之上的應用程序。(更精確的說,一個.NET應用是一個使用.NET Framework類庫來編寫,並運行於公共語言運行時Common Language Runtime之上的應用程序。)如果一個應用程序跟.NET Framework無關,它就不能叫做.NET程序。比如,僅僅使用了XML並不就是.NET應用,僅僅使用SOAP SDK調用一個Web Service也不是.NET應用。.NET是基於Windows操作系統運行的操作平台,應用於互聯網的分布式。
2014年4月的Build開發者大會上,微軟宣布開源一批.NET庫和相關技術,成立.NET基金會去管理和引導開源組件的開發。微軟還將在Apache 2.0許可證下開源Roslyn編譯器堆棧,Roslyn是微軟所謂的編譯器即服務,包含了C#和 Visual Basic.NET 編譯器。.NET基金會由來自微軟、GitHub和Xamarin的代表組成,Xamarin由GNOME創始人Miguel de Icaza等人創建,開發.NET開源實現。Xamarin向基金會貢獻了它的部分庫。de Icaza在接受采訪時表示,微軟已經變了,不僅僅移除了許可證中的限制,而且與Xamarin合作徵求設計反饋,在創作共用許可證下發布文檔。
2014年11月13日,為了進一步擴大雲計算市場,微軟將不再把.NET和Visual Studio等關鍵軟體技術局限在Windows平台,今後還將兼容Linux、Mac OS X、iOS和Android。除此之外,微軟還宣布將開放.NET核心伺服器運行環境和框架的源代碼,使得外部開發者也可以對這一軟體開發平台做出貢獻。
作為這一變化的一部分,微軟將允許開發者使用.NET運行環境和框架,來為Linux和Mac開發基於伺服器和雲端的應用。微軟還推出了功能齊全的新版Visual Studio 2013,並將免費對獨立開發者、學生、小企業等用戶開放。