程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 積木模塊 ABC(二)

C# 積木模塊 ABC(二)

編輯:C#入門知識
  在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可以返回本地機器的主

[1] [2] 下一頁  

機名:
  
  
  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);
  
  
  }
  
  
  }  

上一頁  [1] [2] 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved