为什么每个用户都存储了visual studio项目的命令行设置?签入(和共享).user设置文件是否可以?

Dan*_*anO 25 msbuild debugging command-line visual-studio

我们正在创建一个了解某些命令行参数的应用程序.有一些默认的,我们想在调试时在命令行提供,这些都是容易在项目设置中设置如下解释.

视觉工作室将这些设置存储在*.csproj中.用户文件和集成源控件的默认设置不签入*.用户文件.在调试此项目时,我们希望在每个人的IDE中都有这些默认的命令行参数.

通常(但并非总是)当视觉工作室引导您以某种方式做事时,这是有充分理由的.我们可能不想只是登记某人的.csproj.用户文件......对吗?

这个问题有几个部分:

  • 为什么Visual Studio会为每个用户存储此特定设置?
  • 有没有办法改变这种行为? - 这样做会带来糟糕的juju吗?
  • 在这种情况下,可以办理登机手续并共享.user文件吗?
  • 有没有更好的方法来完成我们在这里尝试做的事情?

谢谢 -

Chr*_*isW 13

也许您可以更改程序以选择性地从配置文件以及命令行中读取其参数(然后签入该配置文件的副本).

  • 将默认的调试命令行选项放入.config文件会绕过问题,但也会强制执行可能不需要的新行为(在这种情况下我们可以使用它.)通常我现在看到依赖于默认调试命令整个团队和源代码控制中的行参数是一件坏事.它为CI(自动)构建和单元测试增加了皱纹.我们正在有效地将"调试"参数变成源工件...不好.所以一般来说,最好的答案是:"不要那样做 - 找另一种方式",在这种情况下.config文件很好.谢谢. (2认同)

Jas*_*Cav 6

我不建议检入用户文件,因为正如您所说,这是每个用户.如果有人检出您的"默认"用户文件,然后进行任何个性化配置更改,那么这些将反映在用户文件中,并且(很可能)将反映在源控件中.

如果您希望有人为调试设置命令行参数,我会调整项目文件以包含这些参数 - 不要将它们包含在用户文件中.(可以检查.proj文件,我通常会为我的团队项目做.)

  • @Jason:你如何调整项目文件以包含命令行参数? (2认同)
  • @JasCav - 这些链接是否描述了如何为每个项目而不是每个用户设置调试器属性?从我收集的内容中,他们描述了设置的位置 - 但不是如何避免它们以每用户设置结束. (2认同)
  • 嗯..我也使用VS2013,我发现调试器设置放在.user文件中。我发现这很奇怪。我手动复制并粘贴了设置,但仍然有效。 (2认同)