我正在使用SOAP将Betfair API重写为JSON,我之前已经开始使用它作为控制台APP,然后从任务调度程序或win服务调用它。
但是现在我被要求用代码做各种不同的工作,我不想为每个工作写一个控制台应用程序(不同的网站想要价格,下注等)
新代码库比旧代码库大得多,我可以将旧系统中的4个文件复制到DLL应用程序中,然后创建各种控制台应用程序/服务来实现DLL - 但是因为它已经超过了40+文件如果可能,我不想要复制粘贴作业。
有没有办法可以在VS中使用某些工具或命令轻松地将现有的控制台项目转换为类/ DLL项目?
我希望能够创建简单的应用程序
BetfairBOT myBOT = new BetfairBOT()
myBOT.RunGetPrices();
或
BetfairBOT myBOT = new BetfairBOT()
myBOT.RunPlaceBets();
例如2/3行代码来实现我的应用程序注册的DLL。
因此,如果没有复制和粘贴,我可以这样做。
我正在使用VS 2012,.NET 4.5(如果我需要依赖服务器,则为4.0),Windows 8.1
非常感谢任何帮助。
答案 0 :(得分:10)
这个答案来自here。虽然它使用winforms而不是控制台应用程序,但我认为你可以使用它。
创建DLL的步骤
第1步: - 文件 - >新建>项目 - > Visual C#项目 - >类库。选择项目名称和相应的目录,单击“确定”
单击“确定”按钮后,解决方案资源管理器会添加一个C#类“Class1.cs”。在本课程中,我们可以编写代码。
当我们双击Class1.cs时,我们看到一个命名空间CreatingDLL。我们将在项目中使用此命名空间来访问此类库。
第2步: - 在Class1.cs中,我们创建了一个名为'sum'的方法,它接受两个整数值并返回一个传递给witch方法的数字。
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步: - 现在构建应用程序并查看项目的bin \ debug目录。 'CreatingDLL.dll'已创建。
现在我们创建另一个应用程序并使用此DLL(CreatingDLL.dll)引用来访问DLL的方法。 访问创建的DLL的步骤
第4步: - 文件 - &gt;新建 - &gt;项目 - &gt; Visual C#项目 - &gt; Windows窗体应用程序。
第5步: - 设计的窗口如下图所示。
第6步: - 添加我们在几分钟之前创建的DLL(CreatingDLL)的引用。
添加DLL引用后,将出现以下窗口。
第7步: - 在Windows窗体应用程序的按钮上单击编写代码。在创建对象和制作添加DLL的方法之前,在项目中添加名称空间CreatedDLL作为下面的代码。
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步: - 现在构建应用程序并执行项目并查看输出。
编辑:要将应用程序更改为库,请执行以下步骤
首先,双击Solution Explorer窗口中的Properties。
然后,在打开的页面上,将输出类型从控制台应用程序更改为类库