gpt4 book ai didi

c# - Visual Studio 更新不应构建的项目二进制文件

转载 作者:太空狗 更新时间:2023-10-30 01:30:55 26 4
gpt4 key购买 nike

我正在尝试阻止 Visual Studio 覆盖我不应在构建期间使用的项目的二进制文件夹。对以下解决方案结构进行成像:


App1 -> LibB -> LibA

每次我尝试构建 LibB 项目(构建/重建)时,它都会替换我的 App1 二进制文件夹中的 LibA.dll .真正的问题在于 App1LibB 使用的不同版本的 LibA.dll。想象我有另一个 App2 项目:


App1 -> LibB (v2) -> LibA (v2)
App2 -> LibB (v2) -> LibA (v2)
LibB (v2) -> LibA (v1)

现在每次我构建 App1 项目时,它都会破坏我的 App2 项目的二进制文件夹,因为当 LibB 项目是构建它将 LibA.dll (v1) 移动到我的 App2 二进制文件夹,这不是预期的行为。

ps#1:我无法将 LibB (v2) 更新为使用 LibA (v2) 只是因为它是一个简化的问题描述并且有很多像我描述的依赖项多于。假设这将是我的长期解决方案。

ps#2:如果您尝试构建 LibB 项目,它将使用 LibA.dll 更新 App1App2 二进制文件夹(v1) 并破坏两个应用程序项目。

ps#3:我重新创建了一个具有类似依赖模型的测试解决方案,它工作得很好,所以这是我正在尝试修复的现有解决方案的问题。

如何防止 Visual Studio 在构建子项目时更新父项目?

最佳答案

在 Visual Studio 中使用项目引用时,Visual Studio 的设计是让它们保持同步,这是设计使然。如果您在多个应用程序之间共享库,您应该将它们放在不同的解决方案中,并使用 nuget 等包管理产品管理解决方案之间的依赖关系。

关于c# - Visual Studio 更新不应构建的项目二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42239752/

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