在控制台应用中使用创建的DLL?

时间:2012-03-05 04:39:35

标签: c# visual-studio-2010 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

    }

}

我想将c#控制台应用中的所有返回值(即return IISinstall.ToString();)用作console.writeline(IISinstall);

我假设我所做的一切都是完全错误的 如果是这样的话我将如何在控制台应用程序中实现我的DLL。

需要注意的一点是,我的控制台应用程序不接受用户的输入。

2 个答案:

答案 0 :(得分:3)

只需从控制台应用添加对DLL的引用,然后像任何其他引用一样调用它。

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

答案 1 :(得分:0)

检查你的拼写,特别是capitlization。 (使用intellisense)我看到它拼写Netframeworkavailable一个地方,NetframeworkAvailable拼写另一个地方。特别是你的代码说

Netframeworkavailable (with lowercase a)

并且您发布的错误消息表示您正在通过查找

来调用它
NetframeworkAvailable (with the capital A) 

一般来说,我喜欢坚持使用严格的Pascal套管以避免这种情况,所以我会称它为NetFrameworkAvailable,但那只是我。

顺便说一句,如果你输入“netframewordkav”ctrl-space,你应该看到你的方法并从列表中选择它。 Intellisense不关心案例,从列表中选择将放入正确大写的调用。如果这种方法没有出现在intellisense中,那通常是一个好兆头,那就是错误的。