有没有办法压制VS尝试上线?

时间:2011-07-21 17:55:11

标签: visual-studio tfs git-tfs

如果已配置解决方案与TFS的绑定,当您打开解决方案时,VS会问您:

---------------------------
Microsoft Visual Studio
---------------------------
Go Online

This solution is offline but its associated Team Foundation Server is available.

Would you like to go online with this solution after it has loaded?
---------------------------
Yes   No   Help   
---------------------------

或者,如果TFS不可用,则建议选择暂时脱机工作或删除绑定。

有没有办法抑制这些对话?

给你一些背景信息。我们团队的一部分直接与TFS合作,其他部分正在通过git-tfs工作。使用git-tfs时 - 我根本不需要在线模式。因此,每次我在解决方案中打开解决方案或重新加载项目时 - 我都应该一遍又一遍地回答相同的问题。但我无法删除绑定,因为直接使用TFS的人将失去无缝连接到TFS的能力。

4 个答案:

答案 0 :(得分:1)

tfpt中的连接命令(2008年tfpt中的tweakui)是否能满足您的需求?您可以将服务器(实际上是2010年的集合)标记为VS的离线。

降压

enter image description here

答案 1 :(得分:1)

VS 2012没有显示此对话框,而是将一些信息写入输出有关TFS不可用的信息,这是可以接受的。

对于VS 2010和VS 2008,最令人恼火的是,有时这个对话框显示每个项目,即如果你有30个项目在解决方案 - 你必须在每个解决方案开放时点击'OK'30次。对于这些,我可以假设部分解决方案 - 使用此内容在解决方案的根文件夹中创建名为“ProjectConfiguration.xml”的文件:

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
  <PropertyGroup>
    <SccProjectName>SAK</SccProjectName>
    <SccLocalPath>SAK</SccLocalPath>
    <SccAuxPath>SAK</SccAuxPath>
    <SccProvider>SAK</SccProvider>
  </PropertyGroup>
</Project>

然后,在每个* .csproj文件中,删除所有SccXxx元素并添加此行(作为第一级XML节点,而不是PropertyGroup):<Import Project="$(SolutionDir)ProjectConfigurations.xml" /> 在那之后,VS只会激活一次对话框。此外,如果您和我一样使用git,您可以发出git update-index --assume-unchanged 'ProjectConfigurations.xml'并注释这些行而不提交它们(assume-unchanged基本上命令git忽略更改,即使已经跟踪文件 - {{3这是该选项的简要说明。)

P.S。我们还在这些文件中包含了一些其他选项,例如<TreatWarningsAsErrors>true</TreatWarningsAsErrors> - 它完全由VS和MSbuild处理。

答案 2 :(得分:0)

我不知道如何抑制这些对话框,但您始终可以对解决方案文件进行更改以删除绑定,而不会将其检入以影响其他开发人员。我知道当本地编辑(未签出)的文件发生很大变化时,这有时很烦人,但解决方案文件的情况可能并非如此。

答案 3 :(得分:0)

就我而言,我所做的是在文本编辑器中打开sln文件,并查找“GlobalSection(TeamFoundationVersionControl)”并将该部分一直删除到相应的“EndGlobalSection”行。 (不是最后一个,而是第一个GlobalSection(TeamFoundationVersionControl)行之后的那个)

然后我重新加载了解决方案,它不再要求连接到TFS(我们没有...它被我们雇佣的承包商所使用,我们得到了带有TFS信息的源代码)

这是一件轻而易举的事。