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

Iva*_*lov 6 tfs visual-studio 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   
---------------------------
Run Code Online (Sandbox Code Playgroud)

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

有没有办法压制这些对话框?

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

Iva*_*lov 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>
Run Code Online (Sandbox Code Playgroud)

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

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