當前位置:首頁 » 編程軟體 » net編譯文件詳解

net編譯文件詳解

發布時間: 2023-01-13 21:35:40

Ⅰ 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#發展得慢一些。

Ⅱ .net中什麼文件編譯後是EXE

可執行文件編譯出來是.exe
簡單來說是有main函數的工程,不過這個可以在項目屬性裡面設置的。
一般情況下,控制台類的,窗口類的,WPF的項目編譯出來都是.exe的可執行文件

Ⅲ 怎麼用net編譯cs文件

操作如下:
打開命令窗口->輸入cmd到控制台->cd C:WINDOWSMicrosoft.NETFrameworkv1.1.4322轉到vs.net安裝的該目錄下->執行csc命令csc /target:library File.cs->在該目錄下產生一個對應名字的.dll文件(前提:把.cs文件放到C:WINDOWSMicrosoft.NETFrameworkv1.1.4322目錄下)
csc命令的方式很多,請參考以下,

------------------------------------
譯 File.cs 以產生 File.exe:
csc File.cs
編譯 File.cs 以產生 File.dll:
csc /target:library File.cs
編譯 File.cs 並創建 My.exe:
csc /out:My.exe File.cs
通過使用優化和定義 DEBUG 符號,編譯當前目錄中所有的 C# 文件。輸出為 File2.exe:
csc /define:DEBUG /optimize /out:File2.exe *.cs
編譯當前目錄中所有的 C# 文件,以產生 File2.dll 的調試版本。不顯示任何徽標和警告:
csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs
將當前目錄中所有的 C# 文件編譯為 Something.xyz(一個 DLL):
csc /target:library /out:Something.xyz *.cs

編譯 File.cs 以產生 File.dll: csc /target:library File.cs這個就是我們使用最多的一個命令,其實可以簡單的寫成csc /t:library File.cs,另外的一個寫法是
csc /out:mycodebehind.dll /t:library mycodebehind.cs,這個可以自己指定輸出的文件名。
csc /out:mycodebehind.dll /t:library mycodebehind.cs mycodebehind2.cs,這個的作用是把兩個cs文件裝到一個.dll文件里。。。

Ⅳ 簡要介紹asp.net的編譯過程

Ⅳ asp.net編譯的問題

要不要編譯要看你改動是什麼類型的文件了,
如果你改了已.aspx為後綴里的文件一般是不需要編譯的
(切忌<%=%>,<%#Eval("")%>像這樣的文件最好不要改動),
如果你改了已.cs為後綴里的文件是一定需要編譯的,因為改動.cs文件就會在Bin文件夾里生成新的里.DLL的文件(和改動前的是有區別的),如果不編譯將無法正常訪問
1,編譯後可以防止別人看到源碼
2,也可以加快程序執行的速率

Ⅵ .net CS文件編譯成DLL

1.編譯是由你的編程工具自己完成的。

2.反編譯也需要特定的工具

3.dll文件其實就是一些函數的組合,提供介面讓用戶操作,c#中叫做類庫。

4.應該不是,dll是已經變成二進制的文件。我想jar應該不是

5.bin文件夾是調試程序時自動產生的。

6.DLL文件(Dynamic Linkable Library 即動態鏈接庫文件),是一種不能單獨運行的文件,它允許程序共享執行特殊任務所必需的代碼和其他資源

7.首先在編程工具中添加引用,然後實例化對象,然後就是調用方法了。

[email protected]呵呵我郵箱,不清楚問我好了。呵呵

Ⅶ 精品賞析:一個.NET程序在編譯和運行時都做了些什麼

run-time)和運行原理 (CPU-specific binary or pseudo-code)的疑問。 這里是一個簡單的回答:當你編譯一個C#應用程序或任何一種CLS(Commmon Language Specification)兼容的語言時,它將首先被編譯成一種稱為IL (Intermediate Language)的偽代碼(pseudo-code)。在這個應用程序第一次 被運行的時候,這種IL代碼將被編譯成機器代碼,用於執行。也就是說從源代碼 到得到運行結果,進行了兩次編譯。事實上,只有那些被真正使用的函數代碼 才會被進行第二次編譯。下面揭示開發過程中被隱藏起來的細節: 1) 你用C#開發一些程序 2) 用C#編譯器或CLS兼容的編譯器編譯成EXE 3) 編譯器將生成的IL代碼和附加信息(manifest)放入擁有一個標准PE頭的Win32 可執行文件的只讀部分。 4) 編譯器在創建這個可執行文件時導入(import)一個名為_CorExeMain的函數。 這個函數是.NET EE(execution engine)--.NET運行期引擎的入口函數。 5) 當執行這個Win32可執行文件時,因為其主要是依賴於DLL的PE文件,操作系 統將會調用位於MSCorEE.DLL中的_CorExeMain函數。 6) 操作系統通過PE文件里的進入點,調用MSCorEE.DLL。並能保證在Windows里 可以有很多程序同時運行。 7) 因為操作系統不能執行.NET IL代碼,EXE里的進入點只是簡單的中介,它將 指示操作系統調用_CorExeMain函數。 8) 隨後_CorExeMain函數開始解釋位於PE文件中的IL代碼。 9) 因為IL是不能被直接執行的, .NET EE使用稱為JITter (Just In Time compiler) 這一即時編譯過程只在第

Ⅷ 關於.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不知道什麼用它了.你再根據我這些信息在網路中搜索一下.

Ⅸ VB。net寫出現的文件是偽編解碼偽編譯和真編譯有什麼不同和區別

只要在windows下生成的是exe,可執行文件就是真的編譯。偽編譯應該相當於java生成的位元組碼,並非可執行的exe。而是靠jvm java (virtual machine java虛擬機)再編譯成機器碼才執行。可以理解生成位元組碼的這個過程是偽編譯。
個人認為
.net調試時應該是用託管代碼的,再調試期間可能是偽編譯。
至於VB.net是解析型語言,在調試期間不會生成文件,不能說是編譯吧。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:649
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:940
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:635
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:824
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:734
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1070
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:302
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:164
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:855
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:766