大发娱乐场赢钱方法
IT資訊
當前位置:優樂網 > IT資訊 >  科技人物

如何生成多文件程序集

2020-01-30 03:48:00 木莊網絡博客 編輯:貝兒 瀏覽數:33優樂網

本文介紹如何創建多文件程序集,并提供用于說明過程中每個步驟的代碼。 備注:適用于 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.xmvpuw.shop/news/2020/01/30/263038768.html

轉載本站原創文章請注明來源:優樂網

行業聚焦

“北京健康寶”上線,可以查詢自身健康狀態的小程序

IT之家3月1日消息 今天下午,北京市新型冠狀病毒肺炎疫情防控工作新聞發布會召開,北京市經濟和信息化局副局長潘鋒介紹北京市防疫相關健康狀態查詢系統——...[詳細]

24期免息+贈半年全身保:vivo NEX 3S手機100元預售

IT之家3月11日消息 昨日發布的 vivo NEX 3S 新機現已開啟全面預售,支付100元定金可享24期免息+贈半年vivo ...[詳細]

realme 6/6 Pro 將于明天在歐洲首次亮相

IT之家3月30日消息 據realme歐洲官方推特,realme 6系列將于當地時間3月31日10:00(北京時間下午16:00)在歐洲發布。此前該系...[詳細]

三大運營商加碼5G新基建

國內5G“新基建”正在加速推進。3月4日,在中共中央政治局常務委員會召開的會議上,決策層強調,要加快推進國家規劃已明確的重大工程和基礎設施建設,其中要加快 5G...[詳細]

給三星Galaxy S20讓路,Galaxy S10系列大降價

IT之家2月12日消息 三星全新機皇Galaxy S20系列已經發布,也許是為了給新機讓路,三星官網開始啟動了Galaxy S10系列的降價促銷活動。目前在三星...[詳細]

智科技

更多

2399元起,榮耀30S手機正式開售:麒麟820 5G+40W快充

 

IT之家4月7日消息 榮耀30S手機將于今日上午10:08正式開售,搭載麒麟820 5G SoC,內置4000mAh電池...[詳細]

干貨分享:到底什么是葉脊網絡?

 

今天這個故事,要從67年前開始說起。1953年,貝爾實驗室有一位名叫Charles Clos的研究員,發表了一篇名為《A...[詳細]

日經:拆解后發現,特斯拉電子技術“領先豐田和大眾6年”

 

2月24日消息,據國外媒體報道,盡管特斯拉在汽車銷量上無法與豐田和大眾相提并論,但在電子技術方面,埃隆·馬斯克(Elon...[詳細]

2019年財報發布金山工作全年完成經營收入15.80億元

 

財報顯現,全年完成經營收入15.80億元,同比增加39.82%,凈利潤4.01億元,同比增加28.94%,中心成績數據均...[詳細]

C#冒泡排序功能返回數據類型不一致?代碼問題還是文件設置問題?

 

在VS代碼中,對于C#來說是全新的,而對于C#來說則是全新的。我不確定我的代碼或應用程序文件是否存在問題,無論哪種情況,...[詳細]

一周排行每月關注
大发娱乐场赢钱方法 国标麻将16翻怎么玩 10分11选5开奖结果 湖南麻将胡牌牌型图解 足彩大赢家比分网 快乐赛车app下载 捷报篮球比分网捷报比分app 保利地产股票行情 五百彩票比分直播创 重庆幸运农场开奖现场 大赢家比分 千禧排列3开奖 188比分直播吧直播吧 排列3杀号99% 涵星配资 湖南丫丫麻将 股票涨跌比例计算