首页 > 解决方案 > 手动使用 TFS 控制部分创建 VS2015 解决方案文件时出现问题

问题描述

我们正在从普通的 Visual Studio 2015 解决方案/项目系统迁移到使用premake5 ,它会在每次调用时自行创建.vcxproj和归档。.sln这将导致.sln/.vcxproj文件将不再受源代码控制。由于我们的代码在 TFS 上,我需要通过向这些文件添加一些行来恢复绑定。在.vcxproj文件中,我添加了著名的<Scc...>SAK</Scc...>条目。这增加了对解决方案资源管理器中每个文件的 TFS 上下文菜单的访问。到目前为止,一切都很好。但是所有文件都显示为已签出(旁边的红色小复选标记),而它应该是一个蓝色的小挂锁。

然后我尝试在GlobalSection我的解决方案文件中添加一个,从我们以前的解决方案文件中获得灵感:

GlobalSection<TeamFoundationVersionControl) = preSolution
    SccNumberOfProjects = n
    SccEnterpriseProvider = {4CA58...184C}
    SccTeamFoundationServer = http://myserver

    SccProjectUniqueName0 = Project0\Project0.vcxproj
    SccProjectName0 = Project0
    SccLocalPath0 = Project0

    ....
EndGlobalSection

但是当我在 VS2015 中加载解决方案时,我收到一条消息,指出加载某些项目时存在一些问题......我在菜单文件/源代码管理/高级/更改源代码管理中发现我的解决方案文件未绑定。

Solution:MySolution.sln    <No Server>    <No Server>    [ ]    Not Controlled

实际上,这是正确的,因为我们不想将解决方案文件放在 TFS 上。它将是一个在每次调用premake5时重新生成的易失文件。另请注意,TFS 操作正常运行...

我的问题:我应该如何修改我的解决方案文件以摆脱这个烦人的消息并恢复解决方案资源管理器中的“正确”图标?文件中有什么要更改的.sln吗?.vcxproj那么文件中有什么要改变的吗?还有什么?

如果您能帮助我,请提前致谢!

标签: visual-studiotfsversion-controlprojects-and-solutionspremake

解决方案


您可以通过将名为.tfignore的文本文件放置在要应用规则的文件夹中来配置忽略哪些类型的文件。

.tfignore 文件示例:

######################################
# Ignore .cpp files in the ProjA sub-folder and all its subfolders
ProjA\*.cpp
#
# Ignore .txt files in this folder
\*.txt
#
# Ignore .xml files in this folder and all its sub-folders
*.xml
#
# Ignore all files in the Temp sub-folder
\Temp
#
# Do not ignore .dll files in this folder nor in any of its sub-folders
!*.dll

更多信息您可以参考以下文章:

https://docs.microsoft.com/en-us/vsts/tfvc/add-files-server?view=vsts#customize-which-files-are-ignored-by-version-control


更新截图:

在此处输入图像描述


推荐阅读