.csproj.user在签入TFS时发出问题

本文关键字:出问题 TFS user csproj | 更新日期: 2023-09-27 18:28:20

我们犯了一个错误,允许.csproj.user文件签入TFS,这样我们就可以设置"启动外部程序"的默认值。这种方法效果不佳,尤其是在分支时。

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

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

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

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

我们如何在源代码管理中为现有项目修复此问题?

更新:

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

.csproj.user在签入TFS时发出问题

我还想签入.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>

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

启动Visual Studio 2010命令,然后使用tf.exe…

确保没有人签出文件,然后删除文件-以删除而非编辑的方式签入。

我使用Team Foundation Power Tools,并从Windows Shell上下文菜单

中执行此操作

在TFS中删除一个文件后,它还没有消失。您需要签入您的删除。只有到那时,文件才会消失。

最佳做法是同时清理工作区,以确保用户文件不会以只读文件的形式滞留。

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

当您打开项目进行同步时,VS可能会抱怨您在提交对不需要的文件的更改之前无法同步。这正是我不想做的,我想把文件拿走。

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

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