【问题标题】:Editing aspx/ascx files randomly disabled in Visual Studio 2010?在 Visual Studio 2010 中随机禁用编辑 aspx/ascx 文件?
【发布时间】:2011-03-27 21:49:15
【问题描述】:

我将在 Visual Studio 2010 中调试一个站点并编辑一个 *.aspx*.ascx 文件,它会在没有警告的情况下锁定,因此我无法对其进行编辑。没有消息或任何东西,我无法输入或进行任何更改。

重新开始编辑的唯一方法是停止调试,关闭编辑窗口,然后找到我正在处理的任何文件并重新打开它。这是你知道的一个巨大的痛苦。

我的同事正在经历同样的事情,所以这显然与我的特定设置无关。

解释是什么,我们怎样才能让它停止?


注意 1: 我已将此情况报告给 Microsoft here。如果您也遇到过这种情况,请前往那里并为错误报告投票。

注 2: 这与 VSS 无关,至少在我的情况下是这样。我们使用 VisualSVN,它不使用文件系统级锁定将文件标记为已签出。

【问题讨论】:

  • 由于这看起来像一个错误,connect.microsoft.com 可能是最适合报告此问题的地方。
  • 我似乎有类似的问题,除了在我的情况下,VS2010 没有完全锁定,只是针对某些键。 Enter、Backsapce、箭头键停止工作。这只发生在我处于调试模式时。不过我还没有找到确切的触发器。
  • 我刚刚发现,正在编辑的文件不需要关闭重新启用密钥,只需要切换到另一个文件并返回即可。我假设打开一个任意文件并关闭它也可以。
  • 补丁终于出来了(耶!)。 Joost Schepel 下面的回答包含链接。

标签: asp.net visual-studio-2010 visual-studio


【解决方案1】:

微软今年终于推出了解决方案,您可以在此处下载修复:

http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=40811

【讨论】:

  • 尚未对此进行广泛测试,但似乎已经解决了问题。
  • 终于!!是的...没想到他们会修复那个烦人的错误。
  • 链接似乎确实坏了,但是 Herb 提到的工作(停止调试,关闭所有文档,重新打开)。我重新启动了 VS,但它不起作用,你必须关闭文档。
【解决方案2】:

我找到了一个临时解决方案: 右键单击该文件并选择“打开方式...”。现在选择“源代码(文本)编辑器”,您可以再次编辑文件,但无需 IntelliSense :-( 但您不需要外部编辑器。

尽管如此,我们仍然需要等待微软找到更好的解决方案。

【讨论】:

  • 我暂时将其标记为答案,只是因为这是迄今为止我发现的最佳解决方法。我刚刚将 HTML 编辑器设置为 .aspx 和 .ascx 文件的默认值。很遗憾,因为你失去了很多 VS 的优点——不仅仅是智能感知,还有其他相关的细节,比如自动格式化。但总比为了继续编辑我的标记而定期关闭并重新打开所有内容要好。
【解决方案3】:

作为一种解决方法,我在进行 HTML 改进时使用“浏览方式...”(在解决方案资源管理器中单击鼠标右键)来加载和查看页面。您当然不能调试代码,但它不会锁定文件,因此在进行设计更改时它会使问题变得不那么烦人。

我已经在 Windows 7、XP 上复制了这个问题,无论是否使用源安全、MVC 项目、Web 应用程序项目和网站项目,也启用和不启用“编辑并继续”,即我可以编辑代码但不能编辑 ASPX使用编辑时的标记并继续!

【讨论】:

  • 当然,您可以使用 Ctrl-F5 完成相同的操作(无需调试即可启动)。
【解决方案4】:

我遇到了同样的问题,发现对我来说它只发生在 <a> 标签内带有 "eval" 语句(用于例如 gridview 中的数据绑定)的 .aspx 页面中。一旦我删除了"eval" 语句,这些页面在调试时再次变得可编辑。

在调试时导致页面只读的代码示例:

<a href='<%# Eval("URL") %>' target="_blank" 
title='<%# Eval("URL", "Open url: {0}") %>'><b>'<%# Eval("Text") %>'</b></a>

导致页面在调试时再次可编辑的替换代码示例:

<asp:HyperLink NavigateUrl='<%# Bind("URL") %>' runat="server" ID="hlURL" Target="_blank"
ToolTip='<%# Bind("URL", "Open url: {0}") %>' Text='<%# Bind("Text") %>' Font-Bold="true" />

【讨论】:

    【解决方案5】:

    我也遇到了同样的问题。当代码页消失时,我单击调试->重新启动。它重新启动调试过程,并显示我打开的所有页面。

    【讨论】:

      【解决方案6】:

      这通常是因为您的版本控制系统将文件设为只读(即 VSS)。进入源代码管理设置并设置编辑器,以便在编辑时检出文件。

      如果不是您的源代码控制,那么文件被某些东西设置为只读,而您需要找到“某些东西”来解决此问题。

      【讨论】:

      • 谢谢 - 这似乎不是这里的问题。首先,我们没有使用 VSS,我们使用的是 VisualSVN,它不会锁定文件。我已经检查过,发生这种情况时,该文件未标记为只读。我可以在记事本中轻松地对其进行编辑,并且更改会立即反映在 VS 中 - 但我仍然无法在 VS 中进行编辑,除非我经历了上述停止调试/关闭/重新打开的舞蹈。
      • 在这种情况下,Heinzi 可能是对的。它可能是应该报告的 VS 错误 :)
      【解决方案7】:

      我使用 VS2010 得到相同的结果,随机文件锁定大量...但是我发现如果我关闭有问题的文件并重新打开它,我可以继续编辑,即我不一定要停止整个程序的运行.

      【讨论】:

      • 谢谢,@devastated - 欢迎来到 SO。由于这不是对已发布问题的建议答案或解决方案,因此更适合作为对该问题的评论。
      • @Herb - 在获得 50 声望之前,您不能评论其他人的问题/答案。
      • @Jason - 注意。不过,“我也有这个问题”不是答案。
      • FWIW 这不是我的经验。我需要停止调试才能重新获得对 aspx/ascx 文件的编辑权限。
      【解决方案8】:

      您和您的同事是否安装了 Microsoft Office 2007 或 2010?从 CP > 程序和功能运行 Office 安装程序并进行修复。之后重新启动,或者至少注销。

      如果您不想完全重新安装 Office,我会理解,但如果修复无法解决此问题,我会建议您这样做。

      【讨论】:

      • 我不明白 - 我的 Office 安装对 VS2010 有何影响?
      • 过去 Visual Studio 中的几个错误与 MS Office 有关。例如,产品之间的共享库以类似的方式锁定 VS2008 的 ASPX 文件,但您必须重新启动 VS 才能继续工作。在这种特殊情况下,修复或删除 MS Office Web 创作组件是解决方案。
      【解决方案9】:

      使用“devenv.exe /resetsettings”会将 Visual Studio 恢复到其原始出厂状态。

      您还可以使用“devenv.exe /log”记录 Visual Studio 活动以进行故障排除:

      http://msdn.microsoft.com/en-us/library/ms241272.aspx

      【讨论】:

      • 有趣.. 想知道这两种类型的 Web 项目模板是否相同?
      • 对我来说这是一个 ASP.NET MVC 2 项目。但是正如您在错误报告链接上看到的那样,MS 承认该错误到目前为止,他们已将其转发给开发团队......或者至少更接近他们;-)
      【解决方案10】:

      我可以告诉你这是已知的错误。 当您在代码视图中编辑 CSS 或 Javascript 时,总是会发生这种情况。

      我已经向 MSDN 论坛和 Microsoft Connect 报告过,但它似乎是罕见的错误,所以解决的人不多。

      【讨论】:

        【解决方案11】:

        我有这个问题,也安装了 Resharper。有问题的人是否也安装了 Resharper?我似乎在 VS 中也存在内存泄漏,最终使 VS 陷入困境。关闭 VS 并重新打开它会在一段时间内解决问题。我一直认为这与 Resharper 有关。想法?

        【讨论】:

        • 我发现它只发生在 resharper 上
        【解决方案12】:

        尝试从解决方案资源管理器中刷新包含该文件的项目。这应该会重新启用编辑。

        【讨论】:

          【解决方案13】:

          VS2010 也有同样的问题。右击 ASPX 文件并选择 XML EDITOR -- 然后启用编辑。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-04-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多