6

我们犯了一个错误,即允许将 .csproj.user 文件签入到 TFS,因此我们可以设置“启动外部程序”默认值。这效果不佳,尤其是在分支时。

现在我们正试图撤消这一点。

如果我删除项目的 .csproj.user 文件,然后尝试设置新的项目调试属性,我会得到:

TF14050: 无法更改项目 $/xxx.csproj.user,因为它已经有一个不兼容的挂起更改。

如果我签入删除并进行更改,TFS 会尝试重新添加我的 .csproj.user 文件。

我们如何为源代码控制中的现有项目解决此问题?

更新:

我认为摧毁它们是最好的选择;不过,我们最终只是使用 TFS 电动工具删除了它们。诀窍是首先删除我们为 *.user 拥有的源代码控制文件类型,即使它已经被禁用。现在 TFS 似乎完全忽略了这些文件。

4

5 回答 5

4

我还想签入 .user 文件来做提问者想要做的事情,为调试/运行选项提供默认值。事实证明,.user 文件只是另一个 MSBuild Project XML 文件,您可以将其中的属性组“合并”到您的项目中。不需要 .user 文件。

  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
    <StartAction>Program</StartAction>
    <StartProgram>$(VS100COMNTOOLS)..\IDE\devenv.exe</StartProgram>
    <StartArguments>/rootsuffix Exp</StartArguments>
  </PropertyGroup>
于 2014-06-13T18:14:19.923 回答
2

确保没有人签出文件然后删除文件 - 签入是删除而不是编辑。

我使用Team Foundation Power Tools并从 Windows Shell 上下文菜单中执行此操作

于 2012-03-19T15:59:17.600 回答
2

我建议你使用 Destroy 命令。请小心,因为它会永久删除。MSDN 文档:http: //msdn.microsoft.com/en-us/library/bb386005.aspx

启动 Visual Studio 2010 命令,并使用 tf.exe ...

于 2012-03-19T16:02:46.603 回答
1

在 TFS 中删除文件后,它还没有消失。您需要签入您的删除。只有这样,文件才会消失。

最好的做法是同时清理您的工作区,以确保用户文件不会作为只读文件逗留。

于 2012-03-20T17:00:38.427 回答
0

我使用 TFS Git,并且能够通过 TFS 项目站点删除服务器上不需要的文件。然后我将本地项目与服务器同步。

当您打开项目进行同步时,VS 可能会抱怨您无法同步,直到您将更改提交到不需要的文件。这正是我不想做的,我希望文件消失。

但是,在更改屏幕中,我右键单击该文件并说“撤消更改”,然后它就消失了。

之后,撤消更改我能够同步并且服务器从我的本地存储库中删除了不需要的文件。

于 2016-06-27T20:52:11.193 回答