我正在尝试为我的项目(这是一个应用程序)中的许多类文件之一创建一个 dll,以便其他编程语言可以使用它。我无法将其与项目的其余部分隔离开来,因为它依赖于它的某些部分。我的问题是如何将这个 cs 文件连同所有必要的命名空间一起编译成一个 DLL,包括我在顶部说的“使用”?谢谢
4 回答
如果您有一段代码在许多不同的应用程序中使用,您应该将它移到一个单独的程序集中。创建一个新项目(文件 -> 新项目 -> 类库)并将该代码放在那里。然后,您可以从您需要的任何其他解决方案中引用该 DLL。
您还可以将项目添加到正在进行的解决方案中并执行相同的操作(右键单击解决方案 -> 添加 -> 新建项目 -> 类库)。然后只需引用项目本身(右键单击引用 -> 解决方案 -> 选择项目)。确切的菜单选择在 VS2010 和 2012 之间略有不同,但我想你明白了。
这种在不复制代码的情况下重用代码的行为是DRY 编码的基本做法之一——永远不要复制和粘贴代码。始终重构,以便您可以在两个完全不同的地方引用同一段代码。如果你不采用这种技术,你最终会得到两个不同版本的“相同”代码,这是维护的噩梦。
如果你想使用 csc.exe,如果你可以按照这个例子进行操作,请确保用你自己的 .cs 文件名替换名称我还将在下面包含一个链接,供 MSDN 解释如何使用 csc.exe使用 csc.exe 进行命令行构建
csc /t:library source.cs -> source.dll
第1步 右键单击解决方案->添加->新建项目->命名->添加。
第 2 步 在按住 shift 的同时将要移动的 cs 文件拖到新项目中。这将移动它而不在原始项目中留下副本
步骤 3 在原始程序集中右键单击引用 -> 添加引用 -> 从项目选项卡中选择新添加的项目。
第 4 步 当您要访问移动的程序集时,请转到页面顶部并编写 using,后跟通用程序集的命名空间。
尝试在多个应用程序中重用代码是一个好主意。按照这些步骤构建应用程序后,新添加的项目将编译为单独的 dll。但是,如果它依赖于原始项目中的代码,您仍然无法在其他应用程序中使用该 dll。如果您打算重用一段代码,最好提前计划并以尽可能通用的方式编写它。尝试将您的应用程序特定逻辑放在一个程序集 (project/dll) 中,将通用逻辑放在第二个程序集 (project/dll) 中,然后通过引用项目并在您想要的文件顶部添加 using 语句让它们进行通信从中访问 dll。