国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

C# 積木模塊 ABC(二)在C#中部署應用程序

2024-07-21 02:22:08
字體:
來源:轉載
供稿:網友
在c#中部署應用程序

在visual studio.net中部署工程非常簡單。大部分程序都可以通過一些方便的向導自動完成,而不需要費什么力氣。但是要記住,根據請看,可能還需要在機器上安裝windows組件的更新beta 1版。當然還需要microsoft .net框架。還要注意一點:microsoft說當前的部署到了將來可能會無效。


一旦在visual studio中完成了應用程序的編寫,就可以按照下述步驟開始部署:


首先,從文件菜單中選擇增加新的工程文件:



然后,選擇設置和部署工程,這時visual studio會提供一個部署工程的選項列表,根據是否要部署到web上,再決定是采取壓縮的.cab文件形式,還是采取windows setup程序的形式:




下表是不同類型的工程文件設置以及它們的描述和用途:


工程設置類型 描述 用途

cab工程: 一個microsoft壓縮cabinet文件,可以用cabarc.exe打開。 用于部署可從網上下載的應用程序。

部署向導:為web創建部署文件,或者為使用.msi設置文件的windows安裝程序創建部署文件,并且將它們部署到遠程機器或本地機器上。 用于同時為工程創建設置文件和部署文件。

合并模塊:被不同應用程序共享的包組件。 部署一個組件庫。
web設置向導 為基于web的應用程序創建一個安裝程序,程序將安裝在一個web服務器的虛擬根目錄中。 用于為web服務器創建安裝程序。

設置向導:使用一個.msi設置文件為windows安裝程序創建設置文件。 用于創建設置文件。看起來好象只創建了.msi文件,但所有東西都壓縮在這個文件中。運行時將程序放在程序文件目錄中。



我們選擇使用設置向導來部署這個特定的應用程序。設置向導為創建設置工程文件提供了很好的step by step對話框:



同對話框中所指出的一樣,向導創建了一個安裝器,你可以用它來安裝工程文件。下一屏詢問希望創建哪種類型的安裝器:



我們想要的是一個完全的老式windows安裝樣式,因此選擇“create a setup for a rich client application”。下一屏提示要安裝到哪個文件中:



如果只是想部署沒有源代碼或文檔的應用程序,那么就選擇“primary output”(基本輸出)。這樣就為應用程序部署了必要的exe文件和dll文件。

下一屏提示想要包含在安裝文件中而microsoft沒有包括的附加文件,如readme.txt、web pages等。在hangman的情況下,我們增加了聲音文件:



最后一屏是一個報告,告訴完成了什么以及創建的vdp(visual deployment project)在哪里:



點擊“finish”(結束)之后,就為部署創建了一個目錄。現在需要建立工程文件以便部署它,因此從“創建”菜單中選擇“創建方案”(build solution),這樣就創建了安裝應用程序所需要的mysetupproject.msi文件。


創建mysetupproject.msi后,雙擊它就會啟動安裝程序。對于大多數安裝程序來說,這只是意味著將所有必要的文件全部復制到program files下的目錄中。在這里的hangman工程文件中,這些文件指的是所有system.xxx.dll文件、microsoft.xxx.dll文件(clr 庫)、nlp文件(通用語言資源)、運行時間類庫mscorlib.dll、mngdist.dll(可能是管理發送的)、xxx.wav(聲音文件),當然還有可執行文件,在這里是hangman.exe。


獲取主機的ip地址

可以用.net的dns類來獲取一個主機名或一個給定主機的ip地址。要想在程序中使用dns類,就需要包含system.net:


include system.net reference


比如說想獲取http://www.mindcracker.com/的ip地址,以下代碼就會完成這個任務:


// call dns.gethostname to get iphostentry and get the ip address list.

iphostentry ipentry = dns.gethostbyname ("www.mindcracker.com");


ipaddress [] ipaddr = ipentry.addresslist;



for (int i = 0; i < ipaddr.length; i++)


{


console.writeline ("ip address {0}: {1} ", i, ipaddr.tostring ());


}


另外,使用無參數的gethostname可以返回本地機器的主機名:


string strhostname = dns.gethostname ();


然后將這個主機名作為參數傳遞給gethostbyname,就可以獲取本地機器的ip地址信息。


如何調用對話信息框?


messagebox.show("inavlid file", "file open result", messagebox.okcancel | messagebox.iconhand);


如何調用windows api?

在c#中調用一個api同在vb中調用api一樣。我們應該知道api的dll名稱,并且使用sysimport引入它。下面這個例子顯示了如何調用messagebox api:


using system;


class callapicls {


[sysimport(dll="user32.dll")]


public static extern int messageboxa(int h, string m, string c, int type);


public static int main()


{


return messageboxa(0, "hello world!", "caption", 0);


}


}

最大的網站源碼資源下載站,

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 微山县| 潢川县| 陕西省| 武陟县| 宜丰县| 济阳县| 漳浦县| 宽城| 威海市| 黔西| 龙山县| 沂水县| 泗洪县| 临湘市| 全椒县| 浦江县| 额尔古纳市| 清涧县| 内江市| 衢州市| 盐池县| 雷州市| 来安县| 紫金县| 岫岩| 汽车| 眉山市| 余干县| 嵩明县| 浦江县| 台南县| 汕尾市| 射阳县| 冀州市| 高碑店市| 新河县| 新田县| 河西区| 刚察县| 二手房| 乌拉特后旗|