关于.net:将C#控制台应用程序转换为DLL

Converting a C# Console App to a DLL

我正在将betfair api从SOAP重写为json,我已经开始使用以前的方法,将其作为控制台应用程序,然后从任务调度器或win服务调用。

但是现在我被要求用代码做各种不同的工作,我不想为每个工作写一个控制台应用程序(不同的站点需要价格,下注等)

新的代码库比旧的代码库大得多,我可以将旧系统中的4个文件复制到一个dll应用程序中,然后创建各种控制台应用程序/服务来实现dll,但是因为它有40多个文件,如果可能的话,我不需要复制粘贴作业。

有没有一种方法可以用VS中的工具或命令轻松地将现有控制台项目转换为类/dll项目?

我希望能够创建简单的应用程序

1
2
BetfairBOT myBOT = new BetfairBOT()
myBOT.RunGetPrices();

1
2
BetfairBOT myBOT = new BetfairBOT()
myBOT.RunPlaceBets();

例如,2/3行代码来实现注册到我的应用程序的DLL。

所以如果没有复制粘贴,我能做到这一点。

我使用的是vs 2012,.net 4.5(或4.0,如果需要的话,取决于服务器),Windows 8.1

任何帮助都将不胜感激。


答案就在这里。虽然它使用WinForms而不是控制台应用程序,但我认为您可以使用它。

创建dll的步骤

步骤1:-文件->新建->项目->Visual C项目->类库。选择项目名称和适当的目录,单击"确定"。

Creating C# Class Library (DLL) Using Visual Studio .NET

单击"确定"按钮后,解决方案资源管理器将添加一个C类"class1.cs"。在这个类中,我们可以编写代码。

Creating C# Class Library (DLL) Using Visual Studio .NET

当我们双击class1.cs时,我们看到一个名称空间创建dll。我们将在项目中使用这个名称空间来访问类库。

Creating C# Class Library (DLL) Using Visual Studio .NET

步骤2:-在class1.cs中,我们创建了一个名为"sum"的方法,它接受两个整数值,并将sum返回给witch方法传递的数字。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;

namespace CreatingDLL
{
    public class Class1
    {
        /// <summary>
        /// sum is method that take two integer value and return that sum
        /// </summary>
        /// <param name="x"></param>
        /// <param name="y"></param>
        /// <returns></returns>
        public int sum(int x, int y)
        {
            return x + y;
        }
    }
}

步骤3:-现在构建应用程序并查看项目的bindebug目录。已创建"creatingdll.dll"。

现在我们创建另一个应用程序,并使用此dll(creatingdll.dll)引用访问dll的方法。访问创建的dll的步骤

步骤4:-文件->新建->项目->Visual C项目->Windows窗体应用程序。

第5步:按下图设计窗户。

Creating C# Class Library (DLL) Using Visual Studio .NET

步骤6:-添加我们在几分钟前创建的dll(creatingdll)的引用。

Creating C# Class Library (DLL) Using Visual Studio .NET

Creating C# Class Library (DLL) Using Visual Studio .NET

添加dll引用后,将出现以下窗口。

Creating C# Class Library (DLL) Using Visual Studio .NET

步骤7:-在单击Windows窗体应用程序按钮时编写代码。在创建对象和添加dll的方法之前,在项目中添加命名空间createddll,如下所示。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using System;
using System.Windows.Forms;

using CreatingDLL;

namespace AccessingDLL
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnAdd_Click(object sender, EventArgs e)
        {
            Class1 c1 = new Class1();
            try
            {
                txtResult.Text = Convert.ToString(c1.sum(Convert.ToInt32(txtNumber1.Text), Convert.ToInt32(txtNumber2.Text)));
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }
}

步骤8:-现在构建应用程序并执行项目,然后查看输出。

Creating C# Class Library (DLL) Using Visual Studio .NET

编辑:要将应用程序更改为库,请执行以下步骤

首先,双击解决方案资源管理器窗口中的属性。

Double Click

然后,在打开的页面上,将输出类型从控制台应用程序更改为类库。

Change output type