Visual Studio:在ASP和C#项目之间共享代码

时间:2014-03-16 07:44:36

标签: c# asp.net visual-studio-2012

我正在开发一个包含两个部分的应用程序:

  1. 一个C#表单应用程序
  2. ASP.NET Web表单应用程序。
  3. 在这两个部分(项目)的开发过程中,许多功能是相同的,并且在两个不同的项目中开发它们是不合理的,因为开发时间是这样浪费的。

    所以我想知道是否有任何方法来共享在两个项目中使用的代码/类?类似于在同一解决方案中创建项目或在Web或.exe格式下发布应用程序期间不会出现问题的任何其他方法。

2 个答案:

答案 0 :(得分:1)

解决方案1:如果您要将API功能公开给多个应用程序您可以创建WebServices并通过wsdl file.so公开它们,您可以从任何应用程序中使用这些服务

试试这个Web Services

解决方案2:

您可以创建一个生成ClassLibrary文件的.dll项目,可以从任何其他应用程序使用这些文件来访问API函数。

按照以下步骤创建包含常用功能(API)的库项目:

第1步:创建一个名为ClassLibrary的新MyLibraryProject项目(您可以指定任何名称),如下所示:

enter image description here

第2步:创建常用的库函数,如下所示:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MyLibraryProject
{
    public class MathLibraryClass
    {
        public int num1 { get; set; }
        public int num2 { get; set; }
        public int Sum(int n1,int n2)
        {
            num1 = n1;
            num2 = n2;
            return num1 + num2;
        }
    }
}

第3步:现在build项目获取项目文件夹中的MyLibraryProject.dll文件。

第4步:现在转到包含dll文件的项目文件夹。该路径是deubug文件夹或Release文件夹,基于您的Build Output Path

注意:我认为您的Build POutput Path是Release文件夹

第5步:现在转到发布文件夹路径:

ProjectFolder->MyLibraryProject->MyLibraryProject->bin->Release

第6步:现在该文件夹包含如下所示的dll文件:

enter image description here

第7步:现在dll文件已成功生成,因此您可以将此dll文件作为对任何项目的引用添加,以使用这些常见的api函数。

第8步现在创建一个项目(这里是我正在创建控制台应用程序的示例),它消耗了dll中生成的常用函数。

第9步:现在按以下步骤添加您的dll文件作为参考:

右键单击新创建的项目。 选择References 选择Add Reference...

从Reference Manager窗口中选择Browse选项,如下所示:

enter image description here 现在选择所需的dll,如下所示:

enter image description here

步骤10:现在通过using语句

在项目中添加库项目命名空间
using MyLibraryProject;

步骤11:现在在控制台应用程序中编写以下代码以使用库函数

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using MyLibraryProject;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            MathLibraryClass myclass = new MathLibraryClass();
            int sum = myclass.Sum(12, 4);
            Console.WriteLine("sum is {0}", sum);
        }
    }
}

第12步:现在您可以看到以下输出: enter image description here

答案 1 :(得分:0)

是的 - 只需将公共代码放入类库(dll)即可。这正是类库的用途 - 用于在项目之间共享代码。

确保将类库定位到与表单项目和ASP.NET项目兼容的.Net框架。