将C#项目打包到dll或其他库

时间:2011-06-21 06:18:48

标签: c# package

我有一个包含许多类的C#项目。是否可以将此项目(控制台应用程序)打包到库中(可能是dll或其他任何东西)并从其他编程语言中调用一个明确类的所有函数?

编辑: 这是代码:

using System;
using System.Text;

namespace Test { class Program { public int aplusb(int a, int b) { return a + b; }

    public void hello()
    {
        Console.WriteLine("Helo world");
    }
}

public void hello() { Console.WriteLine("Helo world"); } } And the hierarchy in project folder: - Properties - References - bin -- Debug --- Test.dll --- Test.exe --- Test.pdb --- Test.vshost.exe --- Test.vshost.exe.manifest - obj -- x86 ---Debug ----TempPE ----- DesignTimeResolveAssemblyReferencesInput.cache ----- Test.csproj.FileListAbsolute.txt ----- Test.dll ----- Test.pdb ----- ResolveAssemblyReference.cache - Program.cs

I checked both Test.dll from bin and obj. They are empty

4 个答案:

答案 0 :(得分:1)

在构建项目时,您将在相应的bin文件夹中获取dll。

您可以通过添加对此dll的引用在其他项目中使用此dll。之后,您可以使用它的方法。

答案 1 :(得分:0)

Visual Studio项目属性 - >申请 - >输出类型:类库

答案 2 :(得分:0)

是的,您可以创建一个类库项目。请记住,您正在使用托管代码创建一个dll,如果您想在c ++中使用它,则必须执行some extra stuff.

答案 3 :(得分:0)

使用.NET创建的类库(最终是DLL)只能从其他.NET应用程序或库中使用,或者 - 如果您选择启用它 - 来自COM。

据我所知,不可能使用C#创建一个DLL,然后可以从非托管应用程序(C,C ++等)调用它们的方法。没有所谓的“导出方法”,这就是DLL查看器将其显示为空的原因。使用.NET Reflector或类似的反编译器再次检查,您将看到显示的方法。