.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似乎完全忽略了这些文件。
我还想签入.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可能会抱怨您在提交对不需要的文件的更改之前无法同步。这正是我不想做的,我想把文件拿走。
然而,在更改屏幕中,我右键单击该文件并说"撤消更改",然后它就消失了。
之后,撤消了我能够同步的更改,服务器从我的本地存储库中删除了不需要的文件。