2012-03-05 130 views
1

我有下面的代碼DLL在控制檯應用程序中使用創建的DLL?

using System.Text; 
using Microsoft.Win32; 
using System.Diagnostics; 
using System.Runtime.InteropServices; 

namespace ApplicationCheck 
{ 
    public class ApCkr 
    { 

     #region .NET 
     public string Netframeworkavailable() 
     { 
      bool NETinstall; 
      RegistryKey k1 = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\Client"); 
      if (k1 == null) 
      { 
       NETinstall = false; 
      } 
      else 
      { 
       NETinstall = true; 
      } 
      return NETinstall.ToString(); 
     } 


     #endregion 

     #region PDF 
     public string PDFavailable() 
     { 
      bool PDFinstall; 
      RegistryKey k2 = Registry.ClassesRoot.OpenSubKey(".pdf"); 
      if (k2 == null) 
      { 
       PDFinstall = false; 
      } 
      else 
      { 
       PDFinstall = true; 
      } 
      return PDFinstall.ToString(); 
     } 
     #endregion 


     #region IExplore 

     public string IEavailable() 
     { 

      bool IEversion; 
      string k3 = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Internet Explorer").GetValue("Version").ToString(); 
      string z = k3.Substring(0, 1); 
      int a = Int32.Parse(z); 

      if (a < 8) 
      { 
       IEversion = false; 
      } 
      else 
      { 
       IEversion = true; 
      } 
      return IEversion.ToString(); 
     } 
     #endregion 


     #region IIS 
     public string IISavailable() 
     { 
      bool IISinstall; 
      RegistryKey k4 = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\InetStp"); 
      if (k4 == null) 
      { 
       IISinstall = false; 
      } 
      else 
      { 
       IISinstall = true; 
      } 
      return IISinstall.ToString(); 
     } 


     #endregion 

    } 

} 

我想用所有返回(即return IISinstall.ToString();)在C#控制檯應用程序,值console.writeline(IISinstall);

我假設一切,我所做的是這一點是完全錯誤的 如果thst是這種情況下,我將如何實現我的DLL在控制檯應用程序。

需要注意的一點是我的控制檯應用程序不接受來自用戶的輸入。

回答

3

只需從控制檯應用程序添加對DLL的引用,然後像調用其他任何引用一樣調用它。

var foo = new ApplicationCheck.ApCkr(); 
Console.WriteLine(foo.Netframeworkavailable()); 
+0

感謝一個小片段將是無價的 – deception1 2012-03-05 04:53:28

+0

這不能是一個片段。在Visual Studio中,從您的控制檯應用程序添加對您的dll的引用,>>檢查解決方案資源管理器中的引用,右鍵單擊並點擊添加。 – gideon 2012-03-05 05:00:17

+0

我已經這樣做了,但我很難在控制檯程序中顯示dll操作的結果。 – deception1 2012-03-05 05:02:17

0

檢查您的拼寫,尤其是capitlization。 (使用intellisense)我看到它拼寫Netframeworkavailable一個地方和NetframeworkAvailable另一個。特別是你的代碼說

Netframeworkavailable (with lowercase a) 

和您發佈的錯誤信息說你是在尋找

NetframeworkAvailable (with the capital A) 

一般調用它,我想堅持嚴格Pascal大小寫避免這種情況,所以我會叫它NetFrameworkAvailable,但這只是我。

順便說一句,如果你輸入「netframewordkav」ctrl-space,你應該看到你的方法,並從列表中選擇它。智能感知不關心案件,並從列表中選擇將放入正確的大寫呼叫。如果該方法沒有在智能感知中顯示,那通常是一個好兆頭,這是錯誤的。

+0

我會給它一個鏡頭 – deception1 2012-03-05 05:18:43

相關問題