我应该将Settings.Designer.cs置于版本控制之下吗



Visual Studio自动生成此文件。搜索它的信息告诉我永远不要编辑这个文件。很好,但我需要将它存储在我的VCS中吗?或者VS可以在需要时自动重新生成它吗?

我认为Settings.Designer.cs和其他类似的文件应该处于版本控制之下。

在这个问题上,我使用了另一个答案的建议,遇到了一些问题。

Settings.Designer.cs只有在更改Settings.Settings时才会修改,并且它是由Visual studio自动生成的,而不是由生成工具自动生成的。

当我删除Settings.Designer.cs时,我遇到了一些问题,Visual Studio没有按预期自动生成文件,我不得不对我的项目进行多次重建/重新加载,直到它最终随机出现,我不确定是什么触发了它。

此外,我在TeamCity构建服务器上遇到了问题,因为那里的构建工具没有生成文件,所以我的构建失败了,说它找不到Settings.Designer.cs

我在另一个问题的答案中找到了一个很好的经验法则,基本上,如果构建系统修改了文件,那么就不要将其放在源代码管理中,但如果它只是在对另一个文件进行更改时才被修改,并且是由visualstudio生成的,那么它可能应该放在版本控制中。

此外,在创建新项目时,Visual Studio 2017可以自动创建带有.gitignore文件的Git repo,默认情况下,所有*.Designer.cs文件都包含在Git repo中。

将这些项添加到版本控制中的问题是,不同版本的visual studio或其他环境可能会以不同的方式生成这些文件。这有时会在构建服务器等上导致令人恼火的冲突错误。

VS可以自动生成此文件。

在阅读了这个答案后,我继续删除了Properties/Settings.Designer.cs,但在构建项目时出现了一个错误,即"文件丢失"。我的项目仍然有对它的引用。因此,从项目中删除引用也很重要。

最新更新