有没有一种方法可以阻止VS试图联机?

6
如果解决方案与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个回答

1

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

Buck

enter image description here


1

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

对于VS 2010和VS 2008,最令人烦恼的事情是有时会为每个项目显示此对话框,即如果您的解决方案中有30个项目,则每次打开解决方案时都必须单击“确定”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忽略更改,即使文件已被跟踪 - here是此选项的简要描述)。
P.S. 我们还在这些文件中包含了一些其他选项,例如<TreatWarningsAsErrors>true</TreatWarningsAsErrors> - 它由VS和MSbuild完美处理。

0

我不知道有什么方法可以抑制这些对话框,但您始终可以对解决方案文件进行更改以删除绑定,而不必将其检入以影响其他开发人员。我知道当本地编辑(未签出)的文件被频繁更改时,这有时会很烦人,但这可能不适用于解决方案文件。


不仅解决方案会受到影响,每个项目都有绑定。此外,如果文件已经被跟踪,即使它们在“.gitignore”中列出,git也不会忽略更改的文件(至少我不知道如何做到)。 - Ivan Danilov
更不用说即使你成功了,git 也不会捕捉到你未来对项目/解决方案文件所做的更改。 - Dan Rigby

0
在我的情况下,我所做的是在文本编辑器中打开sln文件,查找“GlobalSection(TeamFoundationVersionControl)”,并删除该部分直到相应的“EndGlobalSection”行。(不是最后一行,而是第一个GlobalSection(TeamFoundationVersionControl)行之后的那一行)
然后,我重新加载解决方案,它不再要求连接到TFS(我们没有...它是由我们雇用的承包商使用的,并且我们获得了带有TFS信息的源代码)。
这很容易。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接