重命名 Blazor 组件文件名时出错
Posted
技术标签:
【中文标题】重命名 Blazor 组件文件名时出错【英文标题】:Getting error when renaming Blazor component file names 【发布时间】:2021-03-31 11:28:22 【问题描述】:标题说明了这一点。这不是真正的世界末日,但它是一个烦恼。如果我重命名 Blazor 组件,IntelliSense
会中断并仍然接受旧名称,直到我重新启动 Visual Studio。我在尝试重命名时也遇到错误。
我正在使用Visual Studio 2019 Professional
。这是 VS 中的已知问题吗?
这是错误的堆栈跟踪:
StreamJsonRpc.RemoteInvocationException:意外错误 在 StreamJsonRpc.JsonRpc.d__133
1.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__21
1.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(异常异常对象) RPC 服务器异常: System.InvalidOperationException:意外错误 在 Roslyn.Utilities.Contract.Fail(字符串消息) 在 Roslyn.Utilities.Contract.ThrowIfFalse(布尔条件) 在 Microsoft.CodeAnalysis.Remote.RemoteWorkspace.SolutionCreator.d__14.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 Microsoft.CodeAnalysis.Remote.RemoteWorkspace.SolutionCreator.d__13.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 Microsoft.CodeAnalysis.Remote.RemoteWorkspace.SolutionCreator.d__12.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 Microsoft.CodeAnalysis.Remote.RemoteWorkspace.SolutionCreator.d__10.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 Microsoft.CodeAnalysis.Remote.RemoteWorkspace.SolutionCreator.d__8.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 Microsoft.CodeAnalysis.Remote.RemoteWorkspace.SolutionCreator.d__7.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 Microsoft.CodeAnalysis.Remote.RemoteWorkspace.SolutionCreator.d__6.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(异常异常对象) --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 Microsoft.CodeAnalysis.Remote.RemoteWorkspace.d__10.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 Microsoft.CodeAnalysis.Remote.RemoteWorkspace.d__12.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 Microsoft.CodeAnalysis.Remote.CodeAnalysisService.c__DisplayClass29_0. d.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 Microsoft.CodeAnalysis.Remote.ServiceBase.d__16`1.MoveNext()
【问题讨论】:
【参考方案1】:这是 VS 中的一个已知问题吗?
我猜是这样,至少对我们俩来说是这样……我的解决方案:双击 Blazor 的项目名称,然后删除 VS 添加的所有设置,以参考所做的命名更改。
当然,你可以在 github 上发布 issue...
更新:
注意这个实验: 我将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 />
。只有在关闭索引页面并打开它之后,它才识别出新的变化......
【讨论】:
好的,我确实继续在他们的 github 上提交了一个问题。您能否帮助扩展您的解决方法的含义?如果我双击该项目,我会进入 csproj 文件,但我看不到任何与命名更改相关的设置。 啊,我明白了。我没有意识到我可以关闭文件并重新打开它。我正在完全重新启动VS。所以我想这会好一点。无论如何,这不完全是我所希望的解决方案,但我想这是我们在修复之前最好的解决方案,所以我会继续并将其标记为已回答,因为它会在这一点上得到:)谢谢!跨度>以上是关于重命名 Blazor 组件文件名时出错的主要内容,如果未能解决你的问题,请参考以下文章