我们有多个配置文件(app.DEV.config,app.TEST.config等)和一个预构建事件,该事件将正确的配置文件复制到app.config。显然,特定于配置的文件位于源代码控制中---但目前App.Config也是如此,而实际上不应该如此。
如何将一个文件标记为已从源代码管理中排除,但显然不在项目中。
我正在使用VS 2005和2005 Team Explorer。
我们有多个配置文件(app.DEV.config,app.TEST.config等)和一个预构建事件,该事件将正确的配置文件复制到app.config。显然,特定于配置的文件位于源代码控制中---但目前App.Config也是如此,而实际上不应该如此。
如何将一个文件标记为已从源代码管理中排除,但显然不在项目中。
我正在使用VS 2005和2005 Team Explorer。
Answers:
MS Power Tools中有一个签入策略(禁止模式策略),可用于根据正则表达式筛选文件名。请参阅:Microsoft Team Foundation Server电动工具
虽然签入策略并非完全安全,但它们是TFS强制执行用户定义的规则(例如您要查找的规则)的最接近的方法。
(正如其他人所说,您还可以隐藏文件或文件夹,这意味着它保留在源代码管理中,并且对团队中的其他所有人都可见,但是在您决定取消隐藏之前,它不会复制到您的PC上;或者可以删除文件,这意味着该文件会在每个人的PC都最新时从其PC中删除-但这些选项都不会阻止将此类文件首先添加到源代码管理中)
在TFS2012中很容易,创建一个.tfignore文件
http://msdn.microsoft.com/zh-CN/library/tfs/ms245454%28v=vs.110%29.aspx#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
# EDIT https://msdn.microsoft.com/en-us/library/ms245454(v=vs.110).aspx#tfignore
# A filespec is recursive unless prefixed by the \ character.
在解决方案资源管理器中选择App.config文件,然后选择“文件”->“源代码管理”->“从源代码管理中排除App.config”。
有一个很难找到的选项:
1.在解决方案资源管理器中选择一个或多个文件
2.转到文件->源代码管理->高级
这是
请记住:如果您在解决方案资源管理器中右键单击一个文件,您只会发现“最重要的选项”,而不是全部:)
TFS允许您在文件夹/文件级别进行伪装。伪装某些东西时,TFS不会尝试对其进行同步(很像svn:ignore)。
设置工作空间时,请掩盖任何您希望TFS忽略的内容。更详细的方法在这里。
Visual Studio 2013(和2012)
通过选择文件并转到以下位置,可以使用此功能:
File > Source Control > Advanced > Exclude ... from Source Control
之前曾问过这个问题,但它与我遇到的同类问题有关。
问题:
原因:
生成事件示例:
上面,我们只需要将文件从目标构建路径(bin \ debug或bin \ release文件夹)移动到我们的Project Folder。在我的情况下,这样做是为了让我可以在安装程序中包含项目生成的文件。我的安装程序没有将它们作为项目输出的一部分来获取。
解决方法:(当我发现此问题时,我几乎将自己踢到了脸上)
新建活动:
我们都在玩Build Events吗?在上面我仅做两件事,我删除了只读属性,现在文件不是只读的。按照我原来想要的方式复制文件。然后替换只读属性(我猜是可选的),以使Visual Studio和Team Foundations满意。
是的...我仍然在踢自己的脸。
我有一个类似的问题,我的App.config包含明智的数据(例如,用户名),该数据不应与TFS同步。
有关将密码和其他敏感数据部署到ASP.NET和Azure App Service的最佳实践文章,介绍了一种防止此问题的好方法:
使用“ appSettings”元素的“ file”属性来引用未添加到源代码管理的配置文件
如果您使用的版本比TFS2012更旧,因此无法创建.tfignore
文件或使用该File > Source Control > Advanced > Exclude …
选项,则可以尝试以下操作:
现在,TFS似乎忽略了目标文件中的更改。如果您需要再次编辑文件,请不要使用Visual Studio,因为TFS随后会将文件放回具有“待更改”的文件列表中。
您只需从源代码管理资源管理器中选择文件,然后右键单击它,然后从中选择“重命名”选项,然后就可以在文件名的末尾添加“ .exclude”。
然后切记签入文件,然后您会看到文件已从源代码管理中排除。