上述链接未回答此问题......
我在TFS上遇到了一些问题,其中visual studio在本地机器上构建没有问题,但是当我尝试在服务器上构建时,我遇到了构建错误。错误与此问题无关。
我遇到的问题是,为了修复错误,我必须手动编辑本地计算机上的一些文件,并且由于它们是手动编辑的,因此TFS没有检测到更改,所以它不会让我上传我的将设置更改为可以修复问题的服务器。
我的第一个主要问题是: 如何强制TFS将所有本地文件复制到服务器。有点像整体的反面:
转到视图/其他Windows /源代码管理资源管理器/右键单击相关项目/高级/获取特定版本/选中“覆盖所有文件...”/按确定。
其中(可以说,因为它并不总能得到我的经验)从服务器到本地机器获取完整的文件集。
我厌倦了TFS上传部分文件集,然后当本地删除解决方案,然后从服务器重新下载时,我必须从一些备份中提取丢失的文件和引用。如果它是完全上传的,并且在开始时正确上传,那么我可能会遇到这些问题。所以这是我的主要问题。如何根据它来强制TFS上传我的所有文件,无论它们是否已更改。
进一步解释我特别与nuget包管理器有关的问题。我禁用了“允许NuGet在构建期间下载丢失的包”选项。所以本地我得到了实际的构建错误。是的,这是正确的,构建错误。像这样...
Project XXX:默认情况下禁用包还原。给予同意, 打开Visual Studio Options对话框,单击Package Manager节点 并选中“允许NuGet在构建期间下载丢失的包”。您 也可以通过设置环境变量来给予同意 'EnableNuGetPackageRestore'为'true'。
现在迫使我重新启用此选项以消除错误。我很生气,因为这些错误应该作为警告提出,以免妨碍构建。这非常令人失望,因此我对NuGet的看法很差。
无论如何足够的咆哮,我重新启用了这个,而不是像我有一个选择。但是这个被禁用的版本进入了服务器。现在我在服务器上收到此错误。我尝试重新启用它并进行检查,但TFS不会让我。 (警告......没有待定的更改)。当然不是,它只是一个愚蠢的复选框。什么可能改变了。但是现在我在服务器上收到一个我无法解决的错误,因为NuGet的某个人没有把一些教导用于正确设计他们的警告(而不是通过导致错误来防止构建)。
因此,再一次,我如何强制TFS将所有文件(逐字更改或更改)提取到服务器。这样,当我在本地解决问题时,它“应该”也在服务器上修复它。或者至少,当我下次下载它时,我可以确保整个文件集。
道歉,如果这听起来像我是消极的,但我已经在这5天了,它完全停止了开发,花费了我和公司很多钱。非常感谢任何帮助。
答案 0 :(得分:10)
没有办法告诉TFS在我的文件系统中取得所有内容。你需要做的是一个多步骤的过程。首先检查整个目录,这不会覆盖您的手动更改,但允许您重新检入并让它检测到这些更改。其次,如果创建了任何新文件,则需要在根目录中添加并获取所有新添加的文件。最后检查所有更改。它真的应该那么简单。
答案 1 :(得分:0)
如果您使用的是TFS 2012,那么Local Workspaces
将是一个很好的解决方案。
要明确 - Local Workspaces
并不意味着您的开发人员在本地工作。所有代码仍然在源代码管理下,与Server Workspaces
完全相同。
Local Workspaces
是TFS 2012的新功能,可以解决您的问题。您的主要优势是文件不再标记为read-only
。这使您可以从任何地方(记事本,任何其他IDE,Visual Studio)编辑它们,而无需先进行结帐。然后,Visual Studio将自动检测文件是否已更改,并在Pending Changes
窗口中将其列出。
答案 2 :(得分:0)
我喜欢使用Source Control Explorer窗口,然后右键单击文件夹并选择Compare。您可以选择查看目标文件夹中的不同内容,或者新文件是什么。不同的文件显示为红色。然后,您可以右键单击它们并签出并签入文件,或使用按住Control键单击以选择多个文件。
答案 3 :(得分:0)
是的,我知道在火焰开始出现之前,这不是传统的......但是团结一致我经常遇到这个问题。现在,当我更新到unity 5.5时,直接处理它,它在我当前的项目中提供了很多东西。在团结决议之后,我的项目完全不同步......无论出于何种原因,他们拒绝监控这些变化......确实很烦人,但不要担心,因为我每次都成功解决了通过执行以下操作完成迭代:
在单独的位置创建备份文件夹并复制整个文件夹。 只要它在一个独特的单独文件夹中备份到哪里都没关系。请务必复制FOLDERS而不是单个FILES,因为某些文件可能被隐藏。
完整获取最新版本(根据TFS)。 这可能需要一些时间,这就是为什么你在一个单独的位置备份它。一定要保持VS在这一点打开!!!
使用您在步骤1中创建的备份覆盖您“获得”的所有文件。 当您将备份副本覆盖到本地空间时,本地工作空间将监视文件的更改,并在新文件有任何差异时将其标记为具有挂起的更改。
更新源控件资源管理器中对TFS服务器的挂起更改。覆盖期间检测到的任何更改都将添加到包含的更改部分。
Voila你强迫你的文件,工作,并将进入TFS服务器!