gpt4 book ai didi

c# - 如何在.NET中将一个项目编译成多个dll

转载 作者:太空狗 更新时间:2023-10-29 20:59:12 24 4
gpt4 key购买 nike

我正在尝试将一个 .Net c# 项目编译成多个 dll。但事情是这样的。

这是我的项目结构。

Bin 
Dir1
Dir2
File1.cs
File2.cs
myproject.csproj

我想把这个项目编译成File1.dll 和File2.dll。 File1.dll 和 File2.dll 在 Dir1 和 Dir2 中的各种 .cs 文件中使用代码。 File1.cs 需要子目录中的 .cs 文件中的某些类,File2.cs 需要其他类。 File1.cs 和 File2.cs 都会使用一些。

我使用了以下内容:

csc /t:library /out:File1.dll /recurse:*.cs
csc /t:library /out:File2.dll /recurse:*.cs

但是生成的 dll 是彼此完全相同的副本,只是文件名不同。有没有一种方法可以让我编译它们,以便当我检查对象浏览器中的每个 dll 时,它只有 Dir1 和 Dir2 中的 .cs 文件中的那些类,这些类在 File1.cs 中为 File1.dll 引用,类似地为File2.dll?

我希望最好将此作为 Visual Studio 中后期构建步骤的一部分。

感谢您的宝贵时间...

编辑

感谢您的所有回复。有很多建议将解决方案拆分为多个项目。虽然这是一种方法,但我不确定是否要为两个 dll(即 File1.dll 和 File2.dll)创建任何依赖项。让我解释一下..

我在创建多个项目时遇到的问题是,File1.cs 和 File2.cs 都需要一些代码。我不希望它们在两个项目中重复出现。在第三个项目中保留通用代码意味着将创建 File1.dll 和 File2.dll 都需要的第三个 dll。我不想要这个。我只想创建 File1.dll 和 File2.dll,这就是我将它们都保存在一个项目中的原因。关于如何实现这一点有什么建议吗?

再次感谢您的回复。

干杯。

最佳答案

如果您想为每个组件使用单独的库,则需要将您的项目拆分为同一解决方案中的多个项目。

您可以将同一个文件包含在多个项目中而无需创建重复副本(添加为链接)以避免重复代码的问题。

关于c# - 如何在.NET中将一个项目编译成多个dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12370157/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com