我应该在版本控制下放置Settings.Designer.cs吗?

时间:2014-02-10 14:12:28

标签: c# visual-studio version-control

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

3 个答案:

答案 0 :(得分:4)

我认为Settings.Designer.cs和其他类似文件应该受版本控制。

我在这个问题上使用other answer here的建议遇到了问题。

如果对Settings.settings进行了更改,则只会修改Settings.Designer.cs,并且它是由Visual Studio自动生成的,而不是由构建工具生成的。

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

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

我在另一个问题的this answer中找到了一个很好的经验法则,基本上如果构建系统修改了文件,那么就不要把它放在源代码管理中,但是如果它只是在你修改的话更改另一个文件并由visual studio生成,然后它可能应该在版本控制中。

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

答案 1 :(得分:3)

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

VS可以自动生成此文件。

答案 2 :(得分:0)

阅读此答案后,我继续删除了Properties / Settings.Designer.cs,但是在构建“文件丢失”项目时出现错误。我的项目仍然有引用。因此,还必须从项目中删除引用。