如何在 Visual Studio C# 2010 Express 版本中创建 DLL 文件?

4
我已经看到了Stack Overflow上的问题“在不显式创建DLL项目的情况下从Visual Studio Express生成DLL文件的方法是否存在?”,但它并没有直接回答我的问题,所以我在这里提出来。
当我试图制作DLL时,我面临的问题是我找不到Build选项中命名为build class file的选项。我已经将项目属性更改为class file(如下所示):
这就是它的样子:
而这就是我的构建选项显示的方式:
此外,当我使用命令行选项时,DLL文件会被生成,但它没有获得我在应用程序中设置的属性。
我对Visual Studio还很陌生,所以对这部分有些困惑。
4个回答

12

您第二个屏幕截图中的"生成解决方案(Build Solution)"选项是您需要单击以生成dll文件的选项。或者,可以在“解决方案资源管理器(Solution Explorer)”中右键单击项目,然后单击“生成(Build)”:

Solution Explorer中的上下文菜单截图

(如果您的解决方案中只有一个项目,则这两个选项将完全执行相同的操作)

输出的dll文件通常会放置在bin\Debugbin\Release目录中,具体取决于您是否处于发布(Release)或调试(Debug)配置,请查看项目属性的“生成(Build)”选项卡以获取确切的路径。

您未看到“生成类文件(Build class file)”选项的原因是这正是“生成项目(Build project)”菜单项所做的事情 - 如果项目输出类型为“类库(Class Library)”,则它将生成一个类库;如果项目输出类型为“Windows应用程序(Windows Application)”等,则生成Windows可执行文件等等。。。


那么我该如何构建一个类文件(单个dll)?如屏幕截图所示,我的项目输出类型为类库。我有选择win应用程序和控制台应用程序的选项。但由于我需要创建一个dll文件,所以我选择了类库。 我应该选择什么来构建一个dll呢? - Rabimba Karanjai
@RabimbaKaranjai 将其保留为“类库”,然后单击生成。输出的dll将放置在输出目录中(通常是项目下的bin\Releasebin\Debug目录)。 - Justin
是的...刚刚成功构建了它。看起来我必须在成功构建之前保存一个解决方案文件(以生成dll)。 - Rabimba Karanjai
我按照指示进行操作,但得到的是一个 .exe 文件,而不是 .dll 文件。我做错了什么? - Baruch Atta

2
你想要构建一个类库,而不是一个类文件。
你只需要构建解决方案,这将构建解决方案中的每个项目,包括你的LicenseCheckLibrary项目,它只是一个类库项目。
看起来你已经基本完成了 - 在LicenseCheckLibrary文件夹下的bin\Debug或bin\Release文件夹中,你会找到DLL文件。

我实际上已经尝试在两个文件夹中查找(因为我的构建输出文件应该在bin/release文件夹中),但是什么也没有。不过现在我能够使用CSC命令行编译器进行构建。 - Rabimba Karanjai

0

enter image description here

  1. 创建一个新的类库项目
  2. 创建类和代码
  3. 编译项目
  4. DLL已创建
  5. 创建一个新项目
  6. 点击添加引用
  7. 导航到类库文件夹
  8. 进入debug文件夹或其他文件夹并包含

记得在新项目中可能需要包含命名空间。


0
你为什么要避免首先建立一个DLL文件呢?你是正在开发EXE文件以测试逻辑,然后一旦工作正常就将其转换为DLL吗?如果是的话,为什么不创建两个项目:Windows控制台和类库。在类库内实现许可证逻辑,并使用Windows控制台来测试逻辑。当你说你是Visual Studio新手时,你指的是什么?你从未使用过它还是你是.NET Framework编程的新手?.NET Framework有一些用于开发许可证的类。此外,在stackoverflow上也有关于许可证问题的提问。找到其中一些,而不是重复造轮子。

请参阅这篇文章 http://www.developer.com/net/net/article.php/3074001


我想要创建一个dll文件!我正在开发一个应用程序,该应用程序将使用此dll文件来验证许可文件(外部文件)。他们将有多个选项来激活产品,这就是进入dll的原因。这就是制作dll的原因。我将使用V.Studio中的另一个启动项目来打开此dll。 - Rabimba Karanjai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接