我们有多个配置文件(app.DEV.config,app.TEST.config等)和一个预构建事件,可将正确的配置文件复制到app.config。显然,配置特定的文件是在源代码控制中---但目前App.Config也是如此,那不应该是。
如何将一个文件标记为从源代码管理中排除,但显然不是来自项目。
我正在使用VS 2005和2005 Team Explorer。
答案 0 :(得分:94)
在TFS2012中很容易,创建一个.tfignore文件
http://msdn.microsoft.com/en-us/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.
答案 1 :(得分:43)
在解决方案资源管理器中选择App.config文件,然后选择文件 - >源控制 - >从源代码管理中排除App.config。
答案 2 :(得分:39)
MS Power Tools中有一个签入策略(禁止模式策略),允许您根据正则表达式筛选文件名。请参阅:Microsoft Team Foundation Server Power Tools
虽然签入政策并非完全万无一失,但它们是TFS最接近实施用户定义规则的方式,就像您正在寻找的那样。
(正如其他人所说,你也可以隐藏一个文件或文件夹,这意味着它保留在Source Control中并且对团队中的其他人都可见,但是在你决定揭开它之前它不会复制到你的PC上;或者您可以删除该文件,这意味着当它们最新时会从每个人的PC中删除它 - 但这些选项都不会阻止这些文件首先被添加到源代码控制中。
答案 3 :(得分:21)
有一个很难找到的选项:
<强> 1。在解决方案资源管理器
中选择文件或多个文件<强> 2。转到文件 - &gt;源控制 - &gt;高级强>
这里是
请记住: 如果右键单击解决方案资源管理器中的文件,您只能找到&#34;最重要的选项&#34;不是全部:))
答案 4 :(得分:13)
如果你想要的只是在项目中有一个文件而不是在TFS的源代码控制下,只需进入SourceControl,删除所述文件,并撤消项目文件的签出(它将尝试从中删除文件该项目也是如此)。然后签入删除您要排除的文件。在解决方案资源管理器中,您应该看到您要排除的文件旁边没有源控件图标。项目文件应该在那里列出一个文件,但该文件现在应该不再受源代码控制。
请记住,任何其他人现在都会在项目最新时看到丢失的文件。
答案 5 :(得分:7)
TFS允许您隐藏文件夹/文件级别。当某些东西被隐藏时,TFS不会尝试同步它(就像svn:ignore)。
设置工作区时,请隐藏您希望TFS忽略的任何内容。更详细的操作方法是here。
答案 6 :(得分:5)
这对我有用:
一种方法是向项目添加新项目或现有项目(例如,右键单击项目,添加现有项目或从Windows资源管理器拖放到解决方案资源管理器中),让TFS处理文件或文件夹,然后撤消项目的挂起更改。 TFS会将它们取消标记为具有待处理的添加更改,并且文件将安静地放置在项目中并远离TFS。
来源: =&#34;&gt;如何从TFS源代码控制中排除特定文件
答案 7 :(得分:2)
Visual Studio 2013(及2012)
通过选择文件并转到:
可以使用此功能File > Source Control > Advanced > Exclude ... from Source Control
答案 8 :(得分:2)
这个问题刚才被问过,但它与我遇到的同类问题有关。
问题:
原因:
构建事件示例:
上面,我们只需要将文件从目标构建路径(bin \ debug或bin \ release文件夹)移动到我们的项目文件夹。在我的情况下,这是我可以在我的安装程序中包含项目构建的文件。我的安装程序并没有把它们作为项目输出的一部分。
修复:(当我想出来时,几乎踢了我的脸)
新建活动:
我们对Build Events感兴趣吗?上面我只做了两件事,我删除了只读属性,现在这些文件不是只读的。像我原来想要的那样复制我的文件。然后替换只读属性(我猜可选)以保持Visual Studio和Team Foundations的快乐。
是的......我仍然在这个人面前踢自己。
答案 9 :(得分:0)
我有类似的问题,我的App.config包含敏感数据(例如用户名),此数据不应与TFS同步。
文章Best practices for deploying passwords and other sensitive data to ASP.NET and Azure App Service描述了防止此问题的好方法:
使用&#34;文件&#34; &#34; appSettings&#34;的属性元素,用于引用未添加到源代码控制的配置文件
答案 10 :(得分:0)
如果您的版本低于TFS2012,因此无法创建.tfignore
文件或使用File > Source Control > Advanced > Exclude …
选项,则可以尝试以下操作:
TFS现在似乎忽略了目标文件中的更改。如果您需要再次编辑该文件,请不要使用Visual Studio,因为TFS会将该文件放回具有待更改的文件列表中。