目前我正在从SQL Server 2012迁移到2016.我分支了我的ETL项目,然后将TargetServerVersion设置为SQL Server 2016并签入TFS。当我打开其中一个ETL项目时,Visual Studio总是想要查看解决方案文件。有没有人提示可能是什么原因以及如何解决问题?
谢谢, Schichti
嗨,安迪,
感谢您的回答。
选择了Visual Studio Team Foundation Server。
我没有安装扩展程序,取消选中前三个框。问题仍然存在。
我的解决方案文件中不存在“GlobalSection(ExtensibilityGlobals)”部分。以下是我的解决方案文件的内容:
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{159641D6-6404-4A2A-AE62-294DE0FE8301}") = "ETL_CDW", "ETL_CDW\ETL_CDW.dtproj", "{9000D262-D9FB-4C25-9447-94A58ED86BB6}"
EndProject
Global
GlobalSection(TeamFoundationVersionControl) = preSolution
SccNumberOfProjects = 2
SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
SccTeamFoundationServer = http://kerry:8080/tfs/kroschkebi
SccLocalPath0 = .
SccProjectUniqueName1 = ETL_CDW\\ETL_CDW.dtproj
SccProjectName1 = ETL_CDW
SccLocalPath1 = ETL_CDW
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Development|Default = Development|Default
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9000D262-D9FB-4C25-9447-94A58ED86BB6}.Development|Default.ActiveCfg = Development
{9000D262-D9FB-4C25-9447-94A58ED86BB6}.Development|Default.Build.0 = Development
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
前两行只是评论,对吧?因为我想知道为什么格式版本是11.00不应该是14.00,为什么它仍然是Visual Studio 2010而不是2015。
我认为解决方法扩展没有用,因为每次撤消后Visual Studio都会立即再次检查是否已保存。
你还有什么其他的想法吗?
谢谢,Schichti
答案 0 :(得分:0)
请尝试以下方法来缩小问题范围:
从源代码管理中签出您的解决方案文件,然后打开
解决方案文件在文本编辑器中,如记事本。找到一个名为的部分
" GlobalSection(ExtensibilityGlobals)
"删除整个部分:
GlobalSection(ExtensibilityGlobals) = postSolution
MyGlobalProperty = AnyValue
EndGlobalSection
将解决方案文件保存在文本编辑器中,检查解决方案,关闭然后重新打开它以检查它是否适合您。
引用此类似帖子:How to stop Visual Studio from "always" checking out solution files?
如果仍然不起作用,作为解决方法,您可以尝试扩展Auto Uncheckout for Visual Studio 2015,如果文件尚未修改,它将在保存后自动撤消签出文件。
<强>更新强>
尝试与其他没有问题的项目进行比较,并确定它们之间的差异,以便进一步排查问题。您还可以检查VS 2017上是否也出现此问题,并尝试创建新工作区并重新映射到新文件夹。然后再试一次。