错误 VSP1737:由于共享冲突而无法打开文件

Posted

技术标签:

【中文标题】错误 VSP1737:由于共享冲突而无法打开文件【英文标题】:Error VSP1737: File could not be opened due to sharing violation 【发布时间】:2016-12-27 06:48:46 【问题描述】:

在使用 Team Foundation Server (TFS) 运行性能和诊断会话时,我在 Visual Studio 2013 Ultimate 中遇到错误。以下是重现的步骤:

    从 Team Foundation Server 获取最新信息。 创建“CPU 采样”方法的新性能会话。 启动新创建的性能会话。 通过关闭 Internet Explorer 或单击退出会话后 关于“停止分析”。

然后我会在输出窗口中出现以下错误。

Preparing web server for profiling.
Profiling started.
Launching web server with profiling.
Launching profilable project.
Profiling process ID 9460 (iisexpress).
Profiling process ID 7008 (iexplore).
Process ID 7008 has exited.
Process ID 9460 has exited.
Error VSP1737: File could not be opened due to sharing violation: C:\Users\%hiddenuserprofile%\Documents\Projects\%HiddenPathWithFilename%.vsp
PRF0025: No data was collected.
Profiling complete.

为了摆脱这个错误,我必须清除 TFS 设置的解决方案文件夹的只读属性。如果我清除只读属性,则 TFS 无法使用 TFS 服务器检测我的本地工作区中的更改。然后我将不得不在 TFS 中使用比较选项手动检查更改,然后合并。

为什么会出现这个错误?我做对了吗?

【问题讨论】:

这个错误只发生在这个项目上吗?或者它也发生在您的其他项目中?这可能是由那个特殊的文件源代码控制绑定引起的。您可以尝试解绑/绑定文件详细方法请参考***.com/questions/358951/… 【参考方案1】:

发生此错误是因为您将不应该存在的文件添加到源代码管理中。因此它是从 TFS 下载并标记为只读的。

您应该使用 .tfignore 文件。您必须手动删除所有已添加的文件。一开始你不应该有任何 /bin/* 或 /obj/* 文件...

然后检查 *.dll 和其他二进制文件,包括 *.vsp 文件并将它们从源代码管理中删除。

有两种类型的二进制文件:

    参考 - 这些应该使用 Nuget 完成,并且永远不要包含在源代码管理中或手动添加。 输出/生成 - 不应将生成的文件添加到源代码管理中。

【讨论】:

我已经检查了以上所有问题,但问题仍然没有解决。 如果文件被标记为只读,那么它是源代码控制的一部分。如果您已将其删除,则可以安全地删除只读标志...

以上是关于错误 VSP1737:由于共享冲突而无法打开文件的主要内容,如果未能解决你的问题,请参考以下文章

由于解析错误,项目“project”已损坏,无法打开。检查项目文件中的无效编辑...控制冲突

endnote同步冲突

文件处理

别人在我共享文件里放的文件,现在无法打开,我的电脑也打不开了

steam上游戏打不开,说C盘上有致命错误?

数据库引擎打不开文件'(未知的)'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。