在项目的某个时刻,TeamExplorer开始不断指出解决方案文件的变化,但与VS中未修改版本的比较并未显示任何变化。
Screenshot: Team Explorer claiming solution file has been changed
到目前为止我尝试了什么:
当我尝试暂存幽灵更新时,团队资源管理器的git控制台显示了这一点:
文件未暂存,因为它已在内存中修改但未保存到磁盘:C:\ Develop \ playground \ ClassLibrary1 \ ClassLibrary1.sln
点击VS中的任何保存按钮或菜单功能都无济于事。
尝试通过提交所有操作按钮提交此重影更改,VS显示一般错误“致命:提交输出中的意外序列。”。
重新克隆整个仓库无济于事。
将其他更改提交到解决方案文件将无济于事。
行结尾签出罚款(CR / LF)。
Visual Studio版本为15.5.5。
有什么想法导致这种情况或如何摆脱它?
这是我的解决方案文件:
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27130.2026
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassLibrary1", "ClassLibrary1\ClassLibrary1.csproj", "{3E6F764F-D995-4551-921E-43D70B3129B8}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{E9781EEA-6178-46BD-82B9-AED6B76C8D14}"
ProjectSection(SolutionItems) = preProject
version.json = version.json
EndProjectSection
ProjectSection(FolderGlobals) = preProject
__JSONSchema =
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3E6F764F-D995-4551-921E-43D70B3129B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3E6F764F-D995-4551-921E-43D70B3129B8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3E6F764F-D995-4551-921E-43D70B3129B8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3E6F764F-D995-4551-921E-43D70B3129B8}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {7EDCF511-FC54-4E98-9064-11E9A1B43DD1}
EndGlobalSection
EndGlobal
答案 0 :(得分:1)
“更改”页面中文件名旁边的*表示文件已在内存中标记为已修改,并且任何内存中的更改可能尚未写入磁盘。遗憾的是,即使文件没有实际更改,也可能存在*。
原因是只要修改Visual Studio中加载的文件,就会通知源代码控制提供程序。支持预编辑签出的源控制提供程序(例如:TFVC)可以选择在更改之前自动挂起对文件的编辑(如果在服务器工作空间中工作)。不使用预编辑签出的源代码管理提供程序(例如:Git)仍然可以选择主动将文件列为编辑,以便用户知道内存中的更改。
在任何一种情况下,通知源控制提供程序的Visual Studio中的子系统可能实际上不会跟进并编辑该文件。这可能导致文件显示为在内存中编辑但没有实际更改。保存文件(对于解决方案,File->全部保存)应该会重置文件的状态,至少在下一个编辑通知进入之前。
希望这有帮助。
答案 1 :(得分:0)
我可以通过删除行来解决问题
__JSONSchema =
在将JSON文件version.json添加到解决方案时引入了这一行。 JSON文件编辑器中的架构下拉框被VisualStudio设置为任意条目。然后我选择了
<No schema selected>
并保存了解决方案。这就是如何创建虚线。