4

我有越来越大的 ac# 控制台项目(vs2012)。目前我一个接一个地调用多个“方法”。当我添加更多方法时,我希望能够将它们分解为多个可执行文件,作为计划的应用程序运行,但仍然能够引用(并使用 tortoise SVN 更改)一个公共类的规则,它们都将参考。我是否必须创建一个 dll 来完成此操作,还是有更简单的方法?对不起,我对这一切都很陌生。我发现了类似的问题,但我要么不理解它们,要么它们不是我想要的。谢谢!

4

2 回答 2

8

是的,您需要构建一个 DLL 并从需要存储在那里的代码的任何项目中引用它。
只需将一个新的库项目添加到您的解决方案,创建一个公共类并插入应该从其他项目调用的方法

单击菜单文件并选择添加项目 在此处输入图像描述

然后转到您的解决方案资源管理器窗口,单击控制台应用程序并右键单击引用
在此处输入图像描述

并从解决方案文件夹中选择您的类库的项目 在此处输入图像描述

现在转到预定义的 Class1 并添加以下代码

namespace ConsoleApplication1
{
    // Class that contains methods and data to be used/shared by various applications
    public class Class1
    {
        public Class1()
        { }

        public void Show(string message)
        {
            Console.WriteLine(message);
        }
    }
}

并在您的 ConsoleApplication1 中添加以下代码

namespace ConsoleApplication1
{
    class Program
    {
        // A sample console application that uses the library project....
        static void Main(string[] args)
        {
            Class1 c=new Class1();
            c.Show("Hello World");
        }
    }
}
于 2013-04-08T23:08:55.867 回答
1

我是否必须创建一个 dll 来完成此操作,还是有更简单的方法?

如果你想实现共享逻辑和模块化,那么答案是否定的,没有更简单的方法,你应该使用 VS 中的类库项目模板创建程序集 (DLL),编写你的public类,构建它并从你的 EXE 项目中引用它。

我建议您同时使用 Executables 和 Class Library 项目的解决方案,这样您就可以通过 Project而不是Assembly引用它来享受与 Class Library 的可维护性和良好同步。

于 2013-04-08T23:19:30.047 回答