gpt4 book ai didi

c# - VisualStudio 项目中的 obj/debug 是一个临时位置吗?

转载 作者:可可西里 更新时间:2023-11-01 09:55:54 25 4
gpt4 key购买 nike

简而言之,我有一个单独的 WCF VisualStudio 项目,用于编译 CLient 和 Contract dll。使用 MS-BUILD(命令行)构建项目后,我有一个构建后的 nant 任务,将客户端和契约(Contract) dll 复制到另一个位置。

现在我可以更轻松地从 obj/Debug 文件夹中选择这些 dll(因为它们只有 CLient 和 Contract dll 而没有它们的依赖项)。

但是我听说 obj/Debug 文件夹是临时的..我们需要依赖 bin/Debug 来获取 dll。

是否有必要从 bin/debug 而不是 obj/Debug 中获取它,为什么?

最佳答案

obj\Debug 的作用是 MSBuild 的一个未记录的实现细节。它存在是因为 MSBuild 喜欢根据项目设置有条件地复制文件。确切的规则很复杂,说得客气点,你只能通过研究框架目录中的 .targets 文件来获得洞察力。它们本高度度依赖于您的目标 .NET 版本。

如果您真的想知道是什么让它运行,那么从 obj\Debug 复制文件并查看是什么运行了风扇。请注意,这可能会在您创建项目后很长时间内发生,因此当构建失败或生成错误文件时,将永远存在 FUD。如果这听起来不是很有成效,那确实不是,那么请避免违反保证并从项目的输出目录中进行复制。默认为 bin\Debug 和 bin\Release。如果产生了问题,那么至少您可以在 SO 上提出有关它的问题。

关于c# - VisualStudio 项目中的 obj/debug 是一个临时位置吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12869497/

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