当调试过程打开Razor文件时,由于VS被错误“文件已修改:继续或停止”而阻止,因此无法进行下一步(F10,F11)。此消息也出现在VS错误列表中:
使用“修改过的”剃刀文件关闭选项卡会有所帮助-错误消失了-然后可以继续调试。
似乎VS自行更改了文件,但除了此消息外,没有任何迹象。
VS为什么在何处添加此“命名空间”?知道这一点后,我将自己添加这个“命名空间”到我的代码中,然后VS将没有理由更改代码并中断调试。
答案 0 :(得分:2)
似乎仍然是一个未解决的问题:https://github.com/aspnet/Razor/issues/1464
答案 1 :(得分:1)
尝试仅在@addTagHelper *
中加入Microsoft.AspNetCore.Mvc.TagHelpers
,_ViewImports.cshtml
或什么都不做,然后进行复制以查看它是否可以解决您的情况。
答案 2 :(得分:1)
我在一个View的文件夹(rg MyWorker sidekiq.log.1 |rg done| awk '{ total += $8; count++ } END { print total/count }'
)中有一个_ViewImports.cshtml
,并且其中有一个已被注释掉的名称空间,因此不需要导入。删除此文件可解决此问题。然后重新添加_ViewImports.cshtml,甚至使用相同的注释掉的命名空间进行测试,突然也无法解决问题。请记住,在找到此解决方案之前,我已经多次清理了解决方案,删除了obj / bin等,但都无济于事。所以...的确有些东西搞砸了。但这是问题的一个可能根源:视图导入为空,或注释部分为空。
答案 3 :(得分:0)
这是我调试核心应用程序时遇到的最令人沮丧的问题。我发现关闭所有打开的CSHTML文件(并等待几秒钟以使错误从“错误列表”窗口中消失)将暂时解决此问题,但我通常无法再在该会话中使用剃刀进行调试,并且至少非常停止并重新启动调试会话,但是更多时候我不得不完全重新启动VS。现在在VS Community 2019(16.2.2)中发生在我身上。尚未更新到16.2.3,但我不抱希望他们最终能够解决此错误。