我在Visual Studio中的项目是只读的。 我做了什么?

我一定做错了。 我在Visual Studio 2008中有一个C#项目。突然间,我看到了对我的类的锁定,当我将类名称hover在顶部选项卡上时,我看到类名称为:C:\ Myprojects \ Oder.cs [只读] ]!

有没有像你之前发生的奇怪事情?

我想到了几种可能性:

您是否已将项目添加到源代码管理中?

您是否将项目文件夹(及其所有子文件夹)标记为只读?

当然,如果他们可以访问您的计算机,其他人可能已经完成了这些任务。

就我而言,这是一个与ReSharper 9.0 / 9.1相关的问题。 清除ReSharper缓存后,我能够再次编辑解决方案中的文件。

清除ReSharper缓存可以在这里完成: ReSharper -> Options -> Environment -> General并单击: Clear Caches并重新启动visual studio。

清除ReSharper缓存

(图像包含在第一个链接的JetBrains文章中)。

JetBrains说明:

加速ReSharper(和Visual Studio)的最终指南 – ReSharper升级后性能下降

ReSharper在线文档

一个可能的愚蠢的事情。

您的项目仍在运行,您忘记了。 停止调试(CTRL + F5)

我怎么知道。 猜测..

重新启动计算机对我有用。 我的项目只在编译之间读取 – 突然我无法保存对文件的更改,Visual Studio开始向我提供’另存为’对话框,SVN无法提交或清理项目因为“sqlite无法写入只读”数据库。” 在Windows资源管理器中检查文件的文件属性显示它们都没有标记为只读。 我能够制作项目的备份副本,然后我重新启动它很好。

重新启动Visual Studio并再次添加项目。 为我工作。

IDE集成的源代码控制?

听起来你的源文件已经或者一直处于源代码管理之下。 许多源控制系统会在未检出文件进行编辑时将文件设置为只读。

Total Commander使递归更改文件属性变得非常容易,但很可能Windows也可以这样做:)

与Morten Mertner所说的很相似(如果你偶然使用TFS源代码控制,就像我一样)我做了一个手动检查文件,它解决了我的问题。

对我来说,问题是文件在应用程序运行时被锁定。

在此状态下,Visual Studio 2013在文件选项卡中显示锁定图标,当您尝试编辑该文件时,会出现一个包含此消息的对话框:

此模块不允许进行更改,因为在调试或目标.NET运行时版本不支持更改时,它不是为更改而构建的。

在Visual Studio 2015中,当应用程序运行时,锁定图标将显示在文件选项卡中。 但不显示对话框和消息。

停止应用程序会导致文件解锁。

关闭,然后重新打开该文件。

仍然很痛苦,但至少它比完全关闭视觉工作室要便宜。