Я использую Visual Studio 2019 в ОС Windows 10, сборка 18362.207.
Я пытаюсь создать кроссплатформенное приложение Xamarin с использованием шаблона проекта "Master-Detail".
ПослеЯ создаю проект из шаблона, я хочу переименовать класс <ProjectName>\Models\Item.cs
во что-то более значимое.Однако любая попытка использовать инструменты рефакторинга, встроенные в IDE, терпит неудачу.
Если я ввожу имя вместо имени класса и попытаюсь использовать инструменты рефакторинга, чтобы переименовать класс Item
во что-нибудьеще (я пробовал Test
, TestThingie
, Conversation
и т. д.) и наведите курсор на новое имя, щелкните лампочку и
"Переименуйте Item
в Conversation
"
Я сразу получаю сообщение об ошибке, что операция переименования была отменена или недействительна.Хотя я не могу себе представить, почему ... Ниже приведен журнал, который я получаю с этой ошибкой.
=====================
7/2/2019 10:34:46 PM
Recoverable
System.ArgumentNullException: Value cannot be null.
Parameter name: relativeSourceFilePath
at Microsoft.Requires.NotNull[T](T value, String parameterName)
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.ProjectNode.HandleBeforeRefactorFailure(Int32 promptContinueOnFail, String relativeSourceFilePath, String errorMessage, HashSet`1 failedFiles)
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.ProjectNode.<>c__DisplayClass744_0.<<HandleBeforeRefactorNotify>b__0>d.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.VisualStudio.Threading.JoinableTask.CompleteOnCurrentThread()
at Microsoft.VisualStudio.Threading.JoinableTask`1.CompleteOnCurrentThread()
at Microsoft.VisualStudio.ProjectSystem.ProjectMultiThreadedService.ExecuteSynchronously[T](Func`1 asyncAction)
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.ProjectNode.<>c__DisplayClass577_0.<HrInvoke>b__0()
at Microsoft.VisualStudio.ProjectSystem.VS.HResult.Invoke(Func`1 action, IServiceProvider vsShellServiceProvider, IProjectFaultHandlerService projectFaultHandlerService, UnconfiguredProject project)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.VisualStudio.ProjectSystem.CommonProjectSystemTools.Rethrow(Exception ex)
at Microsoft.VisualStudio.ProjectSystem.ProjectErrorReporting.<>c__DisplayClass6_0.<SubmitErrorReport>b__0()
at Microsoft.VisualStudio.ProjectSystem.ExceptionFilter.<>c__DisplayClass2_0.<Guard>g__action|0()
at GuardMethodClass.GuardMethod(Func`1 , Func`2 , Func`2 )
Для ясности мои шаги:
- Открыть Visual Studio 2019
- Новый проект
Mobile App (Xamarin.Forms)
- Перейдите в
<ProjectName>\Models\Item.cs
и попытайтесь переименовать класс Item
, используя меню лампочки для изменения имени в другом месте - не получается
Я что-то не так делаю?Я не хотел бы переименовывать класс в тысяче других мест!