net文件編譯
㈠ 在.NET中,程序編譯過程
.NET平台中代碼的物理單元是可移植可執行程序(protableexecutable,PE)格式,編譯程序和庫時,和平常一樣生成EXE與DLL文件,但在.NET框架下,任何可執行程序項目都鏈接到公共語言運行庫,並由它代理編譯和執行。
.NET中程序編譯的最主要部分是匯編(assembly),匯編包括一個manifest,它是一組元數據,標識匯編向其他應用程序提供的文件和類型;manifest還可以包含強名稱(strongname)、組合匯編名、版本信息和可選文化信息。在使用強名稱的匯編中,元數據包含一個公用密鑰簽名,公共語言運行庫用其驗證匯編自編譯之後是否發生改變。
匯編還可以包括數字簽名,例如用驗證碼(authenticodecertificate)驗證代碼源,以解決在公共語言運行庫保證匯編簽名的真實性問題。
匯編分為專用匯編和共享匯編。專用匯編只在安裝這個匯編的應用程序中使用,而共享匯編則安裝在全局匯編緩沖區(globalassemblycache,GAC)中,全局匯編緩沖區用匯編的引用計數和版本信息管理庫,包括框架的基類庫(baseclasslibrary,BCL),並通過公共語言運行庫避免因庫的版本沖突而形成DLLHell的情形。
選擇專用匯編和共享匯編是一個重要決策。將匯編安裝到全局緩沖區後,就可以在多個應用程序中使用匯編的一個備份,但是還需要用WindowsInstaller之類的安裝程序將應用程序安裝到計算機上。如果使用專用匯編,則得到Microsoft所謂的"XCOPY部署",這樣用戶可以將應用程序復制到目標計算機上,方便地進行安裝。
.NET程序編譯過程如圖1.2所示。
㈡ 怎樣使用 MSBuild 自動編譯和發布 NET 網站
很多.NET 程序員開發的時候,每次都需要涉及到各個環境的部署問題,但是手工操作的話又容易出錯,而且非常麻煩,我們今來講解怎樣實現自動編譯和發布 .NET 網站。廢話不多講,先講講我的初步實現方案。
MSBuild 自動編譯和發布 NET 網站步驟:
准備工具:GIT版本控制(gitlab),Jenkins, msbuild
1、安裝git版本控制器,提交代碼。(svn好像也可以), 並生成ssh public key上傳到gitlab的ssh key中(個人配置/SSH KEY)。
2、安裝jenkins開源工具。
3、Jenkins安裝git plugin, Msbuild插件(Manager Jenkins/Manage Plugins)
4、配置Jenkins中的git(Manager Jenkins/Configure System)在git欄中輸入name和Path: git install path\cmd\git.exe
5、添加對應.NET framework version MSBuild
Name: .NET4.0
Path to MSBuild:
%system%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
6、建立.NET項目文件,並添加MSBuild文件
建立一個解決方案nonsuch.sln,裡麵包含一個website: nonesuch.web.
在解決方案根目錄建立一個xml文件,改名為: build.targets
㈢ 怎麼用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文件里。。。
㈣ net是動態編譯還是靜態編譯
靜態編譯與動態編譯的區別: 1、動態編譯的可執行文件需要附帶一個的動態鏈接庫,在執行時,需要調用其對應動態鏈接庫中的命令。 所以其優點一方面是縮小了執行文件本身的體積,另一方面是加快了編譯速度,節省了系統資源。 缺點一是哪怕是很簡
㈤ .net中什麼文件編譯後是EXE
可執行文件編譯出來是.exe
簡單來說是有main函數的工程,不過這個可以在項目屬性裡面設置的。
一般情況下,控制台類的,窗口類的,WPF的項目編譯出來都是.exe的可執行文件
㈥ 簡述asp.net 的編譯過程
從技術上講,ASP.NET模塊分析ASPX文件的內容,並將文件內容分解成單獨的命令以建立代碼的整體結構。完成此工作後,ASP.NET模塊將各命令放置到預定義的類定義中(不需要放在一起,也不需要按編寫順序放置)。然後使用這個類定義一個特殊的ASP.NET對象Page。該對象要完成的任務之一就是生成HTML流,這些HTML流可以返回到IIS,再從IIS返回到客戶。簡言之,在用戶請求IIS伺服器提供一個頁面時,IIS伺服器就根據頁面上的文本、HTML和代碼(這對我們來說是最重要的)建立該頁面。