IT資訊
當前位置:草根網 > IT資訊 >  IT圈

如何生成多文件程序集

2019-12-29 23:21:36 木莊網絡博客 編輯:草根 瀏覽數:9草根網

本文介紹如何創建多文件程序集,并提供用于說明過程中每個步驟的代碼。 備注:適用于 C# 和 Visual Basic 的 Visual Studio IDE 只能用于創建單文件程序集。 如果要創建多文件程序...

本文介紹如何創建多文件程序集,并提供用于說明過程中每個步驟的代碼。

備注:適用于 C# 和 Visual Basic 的 Visual Studio IDE 只能用于創建單文件程序集。 如果要創建多文件程序集,則必須使用命令行編譯器或帶有 Visual C++ 的 Visual Studio。 多文件程序集僅由 .NET Framework 支持。

創建多文件程序集

1、將包含程序集中其他模塊引用的命名空間的所有文件編譯成代碼模塊。 代碼模塊的默認擴展名為 .netmodule。

例如,假定 Stringer 文件具有一個名為 myStringer 的命名空間,其中包括一個名為 Stringer 的類。 Stringer 類包含名為 StringerMethod 的方法,此方法將單獨一行寫入控制臺。

// .NET框架中的程序集生成示例
using System;

namespace myStringer
{
    public class Stringer
    {
        public void StringerMethod()
        {
            System.Console.WriteLine("This is a line from StringerMethod.");
        }
    }
}

2、使用下面的命令編譯此代碼:

csc /t:module Stringer.cs

使用 /t: 編譯器選項指定 module 參數,表明文件應作為模塊(而不是作為程序集)編譯。 編譯器生成一個名為 Stringer.netmodule 的模塊,可將其添加到程序集中。

3、編譯所有其他模塊,使用必要的編譯器選項來表明代碼中引用的其他模塊。 此步驟使用 /addmodule 編譯器選項。

在下面的示例中,名為 Client 的代碼模塊具有一個入口點 方法,此方法引用創建于步驟 1 的 Stringer.dll 模塊中的方法Main。

using System;
using myStringer;

class MainClientApp
{
    // 靜態方法Main是入口方法
    public static void Main()
    {
        Stringer myStringInstance = new Stringer();
        Console.WriteLine("Client code executes");
        myStringInstance.StringerMethod();
    }
}

4、使用下面的命令編譯此代碼:

csc /addmodule:Stringer.netmodule /t:module Client.cs

指定 /t:module 選項,因為此模塊將在以后的步驟中添加到程序集。 Client 中的代碼會引用 Stringer.netmodule 中的代碼創建的命名空間,因此請指定 /addmodule 選項。 編譯器生成一個名為 Client.netmodule 的模塊,其中包含對另一個模塊 Stringer.netmodule 的引用。

備注:C# 和 Visual Basic 編譯器支持使用以下兩種不同語法直接創建多文件程序集。兩次編譯創建出一個雙文件程序集:

csc /t:module Stringer.cs
csc Client.cs /addmodule:Stringer.netmodule

一次編譯創建出一個雙文件程序集:

csc /out:Client.exe Client.cs /out:Stringer.netmodule Stringer.cs

5、使用程序集鏈接器 (Al.exe) 來創建包含程序集清單的輸出文件。 此文件包含作為程序集組成部分的所有模塊或資源的參考信息。

在命令提示符處,鍵入下列命令:

al <module name> <module name> … /main:<method name> /out:<file name> /target:<assembly file type>

在此命令中,“module name”參數指定程序集要包含的各模塊的名稱。 /main: 選項指定作為程序集入口點的方法名稱。 /out: 選項指定輸出文件的名稱,它包含程序集元數據。 /target: 選項指定程序集是控制臺應用程序可執行文件 (.exe)、Windows 可執行文件 (.win) 或庫文件 (.lib)。

分享到:

版權與免責聲明:

凡未注明"稿件來源"的內容均為轉載稿,本網轉載出于傳遞更多信息的目的;如轉載稿涉及版權問題,請作者聯系我們,同時對于用戶評論等信息,本網并不意味著贊同其觀點或證實其內容的真實性;


本文地址:http://www.1536221.live/news/2019/12/29/62348975.html

轉載本站原創文章請注明來源:草根網

行業聚焦

高通驍龍7c/8c/8cx計算平臺發布:為始終在線的PC打造

IT之家12月6日消息 在夏威夷舉辦的驍龍技術峰會上,高通宣布擴展高通驍龍計算平臺產品組合,以持久續航、高速蜂窩連接以及AI加速性能,賦能無風扇、設計輕薄的現代...[詳細]

CoralGlobal珊瑚跨境結算

北海市副市長卓英子一行蒞臨CoralGlobal,未來或共同開拓東盟市場 11月15日,廣西北海市副市長卓英子、金融辦主任周柯伊、紅樹林現代金融產業城董事長余邦...[詳細]

美團未來五年將助力商家打造“下一代門店” 更好服務億萬用戶

美團高級副總裁兼到家事業群總裁王莆中今天表示,“未來5年,外賣產業發展重心將由需求側轉向供給側。為此,美團將助力千萬商家打造‘下一代門店’,從而更好服務億萬用戶...[詳細]

2020年5款新iPhone機型參數曝光 399美元起

據外媒傳出的消息稱,蘋果公司將在明年發布5款新的iPhone機型,并且曝光了相關參數。由于iPhone 11系列并沒有支持5G,使得iPhone在5G市場失去先...[詳細]

曉董說財鴻達轉債木森轉債值得申購嗎

大家好,我是曉董說財的曉董。今日,有4只轉債能夠申購,也便是明陽轉債、仙鶴轉債、鴻達轉債、木森轉債。上星期六,曉董介紹了明陽轉債、仙鶴轉債,今日介紹后兩個。鴻達...[詳細]

科技趨勢

更多

5G手機誰在用?在哪用?這里有一份5G手機報告待查收

 

自8月5日第一臺5G手機上市以來,5G手機逐漸走進日常生活,這也使得“5G手機”成為了2019的年度熱詞。5G手機哪些機...[詳細]

支付寶正式開通工業互聯網標識服務功能

 

原標題:支付寶正式開通工業互聯網標識服務功能 來源:中國信通院通信世界網消息(CWW)2019年12月19日,由中國信息...[詳細]

雪佛蘭暢巡主要配置公布 續航可達410公里

 

近日,雪佛蘭正式公布了純電城際轎跑暢巡的主要配置,在續航方面,可以達到410公里。作為雪佛蘭首款進入國內的純電動車,暢巡...[詳細]

9699元,聯想Y9000X新品上架:i7

 

IT之家11月30日消息 據IT之家網友分享,聯想Y9000X新品現已上架,搭載英特爾i7-9750H處理器,配備32G...[詳細]

PlayStation 25周年:成就了泛娛樂,也成就了索尼

 

在上個世紀的80年代,平井一夫剛從日本國際基督教大學畢業,拿下文學碩士的他在同年加入了索尼與哥倫比亞廣播公司聯合創辦的公...[詳細]

一周排行每月關注
云鼎彩票app靠谱吗