gpt4 book ai didi

c# - 如何在一个解决方案中的源项目之间共享多个二进制文件?

转载 作者:太空狗 更新时间:2023-10-29 23:50:33 26 4
gpt4 key购买 nike

我有一个小型解决方案,大约有不到 20 个项目。该解决方案过去还包含大约六个由第三方服务提供商 ACME 编写的源项目。现在,最后,另一方向我们提供了一些 DLL。我过去只是在解决方案中包含它们的源代码,每个 DLL 一个项目,所以我正在寻找一种巧妙的方法将所有这些程序集包含在解决方案中,以便可以从需要它们的许多项目中引用它们。

我的直接选择是:

  1. 创建一个 AcmeAssembly 项目,将所有 DLL 添加为项目项集以复制到输出。
  2. 创建一个 AcmeAssembly 解决方案文件夹。比“仅二进制”源项目更快更简单,但解决方案文件夹有一个非常非常大的缺点,即没有解决方案文件(即在 VS 之外)就无法对文件进行分组。
  3. 创建一个包含所有必需二进制文件的 NuGet 程序包。那么至少我们在 packages 文件夹中还有一个部分“物理”分组。我的问题是我从来没有写过 NuGet 包,但我不是在问如何写。我正在询问三个候选解决方案,欢迎更多,如果 NuGet 获胜,我将学习编写一个包。

我不能简单地使用项目的输出 bin\debugbin\release 文件夹。对我来说,这些是严格的输出文件夹,除了其他依赖程序集外,其他任何东西都应该输出在那里。删除 bin 文件夹对构建的影响绝对为零,因此肯定不是存储二进制文件的地方。

最佳答案

nuget 相对于其他解决方案的优势是:

  1. 支持版本控制
  2. 支持内置于 Visual Studio 和 MSBuild
  3. 没有所有开发人员都需要在他们的机器上拥有的“魔法文件夹”

关于c# - 如何在一个解决方案中的源项目之间共享多个二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31068555/

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