如何防止debug/release文件夹中的文件被删除?

问题描述 投票:0回答:1

我们有一些二进制文件不是从我们的应用程序附带的代码生成的。它们被手动放置在调试/发布文件夹中。 VS在编译项目时没有触及这些文件。 我决定将这些文件包含在存储库中,方法是将它们放置在单独的项目中,该项目作为主项目的引用添加。

这工作正常,但是我在单独的“defaultData”分支上完成了它,当我切换回主分支并构建我的主项目时,MSBuild(我猜)会删除任何项目中未引用的所有文件,只留下空文件夹。当手动添加回文件并在主分支上重建项目时,它们不会被删除。当我再次切换回“defaultData”,构建,切换到“master”并构建时 - 文件被删除。发生什么事了?

我试图调查这一点,但无法弄清楚。我将

MSBuild  output verbosity
切换到“诊断”,但我在生成的日志中找不到任何删除这些文件的提及。

过去,我也遇到过类似的罕见问题,手动放置在调试/发布文件夹中的单个文件被删除。

对于应包含在应用程序中的文件来说,这不是问题,但我不想引用我在项目中测试的每个文件。

c# git build msbuild
1个回答
0
投票

对不起。我通过我的工作帐户问了这个问题,但我们的假期直到周一,我无法回复没有声誉的评论...

““文件”是否碰巧有一些 .dll,而您的“存储库”排除了它们?(例如 .gitignore)。”

不,我们没有任何 lib 文件。这些只是一些应用程序配置文件、图像资源、示例数据等。对于外部/非托管 dll,我们有另一个项目,但这是很久以前完成的,我们对此没有任何问题。

换句话说,更清楚。剂量文件不是“master”分支上存储库的一部分,而是仅在“defaultData”分支上,而专为该目的而创建。我将

debug
文件夹移动到桌面,创建分支,添加新项目,复制所需文件,将它们设置为“如果较新则复制”,构建主项目并验证它们确实与新的
debug
文件夹正确放置。所以然后我切换到“master”分支,构建主项目,并且“defaultData”创建的文件消失了。这种情况每次都会发生。但是,如果我使用 Windows 资源管理器手动复制完全相同的文件,它们不会被删除,这是最让我烦恼的。

另外,如果 git 忽略整个

\bin
目录,它与那里删除的文件有什么关系?整个过程仅在本地PC上完成。

© www.soinside.com 2019 - 2024. All rights reserved.