c# - 重命名 Blazor 组件文件名时出现错误

标签 c# visual-studio components visual-studio-2019 blazor

标题已经说了。这并不是真正的世界末日,但确实令人烦恼。如果我重命名 Blazor 组件,IntelliSense中断并仍然接受旧名称,直到我重新启动 Visual Studio。我在尝试重命名时也遇到错误。

我正在使用Visual Studio 2019 Professional 。这是 VS 中的已知问题吗?

这是错误的堆栈跟踪:

StreamJsonRpc.RemoteInvocationException: Unexpected false at StreamJsonRpc.JsonRpc.d__1331.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.CodeAnalysis.Remote.RemoteEndPoint.<InvokeAsync>d__211.MoveNext() --- End of stack trace from previous location where exception was thrown --- at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject) RPC server exception: System.InvalidOperationException: Unexpected false at Roslyn.Utilities.Contract.Fail(String message) at Roslyn.Utilities.Contract.ThrowIfFalse(Boolean condition) at Microsoft.CodeAnalysis.Remote.RemoteWorkspace.SolutionCreator.d__14.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.CodeAnalysis.Remote.RemoteWorkspace.SolutionCreator.d__13.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at Microsoft.CodeAnalysis.Remote.RemoteWorkspace.SolutionCreator.d__12.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.CodeAnalysis.Remote.RemoteWorkspace.SolutionCreator.d__10.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at Microsoft.CodeAnalysis.Remote.RemoteWorkspace.SolutionCreator.d__8.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.CodeAnalysis.Remote.RemoteWorkspace.SolutionCreator.d__7.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.CodeAnalysis.Remote.RemoteWorkspace.SolutionCreator.d__6.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject) --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.CodeAnalysis.Remote.RemoteWorkspace.<CreateSolution_NoLockAsync>d__10.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.CodeAnalysis.Remote.RemoteWorkspace.d__12.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.CodeAnalysis.Remote.CodeAnalysisService.<>c__DisplayClass29_0.<b__0>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.CodeAnalysis.Remote.ServiceBase.d__16`1.MoveNext()

最佳答案

Is this a known issue in VS?

我想是的,至少对我们俩来说...我的解决方案:双击 Blazor 的项目名称,然后删除 VS 添加的所有有关命名更改的设置。

当然,您可以在 github 中发布问题...

更新:

注意这个实验: 我将 Index.razor 重命名为 Index.txt,然后打开 csproj 文件。 VS 添加了这些设置:

<ItemGroup>
    <None Remove="Pages\Index.txt" />
  </ItemGroup>

  <ItemGroup>
    <Content Include="Pages\Index.txt" />
  </ItemGroup>

我再次将 Index.txt 重命名为 Index.razor...VS 已删除这些元素。没有问题。我使用的是社区版本,但是当我使用专业版本时,我必须手动删除它们......但是,唉,我花了一些时间才意识到这一点(而不是通过改变而不是通过聪明......)

另一个实验:将 Counter.razor 重命名为 Counter2.razor...尝试在索引页面中为 Counter2 添加一个元素:<Counter2 /> ,但被拒绝了。我仍然可以使用<Counter /> ,不再存在。只有关闭索引页面并打开它后,它才识别出新的更改...

关于c# - 重命名 Blazor 组件文件名时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65397195/

相关文章:

c# - 在 HtmlAgilityPack 中加载文档的 url 时,如何添加 webRequest 以设置超时?

javascript - Selenium 将 dom 元素传递给 JQuery 并将结果返回到 C#

c# - 将 hashtable.Keys 转换为 List<int> 或其他 IEnumerable<int>

visual-studio - WebAPI 调试 - 从 Visual Studio 启动 Chrome Postman

json - 将 JSON 数据从应用程序组件传递到 Angular 6 中的另一个组件

web - 纸张输入元素在 Polymer 2 中不起作用

javascript - 在 Angular 2 中的多个组件之间共享 WebSocket 数据的最佳方式?

c# - 具有 ViewModel 依赖项的 ICommand

CSS 优先级和层次结构

windows - 从 Visual Studio 2013 命令提示符追加到 INCLUDE 环境变量