Я работаю над расширением и должен удалить пользовательскую команду, а затем добавить ее. Теперь, когда я пытаюсь запустить расширение, я получаю сообщение об ошибкеVisual Studio Extension - для команды меню уже есть обработчик команд
Существует уже обработчик команд для команды меню.
Кто-нибудь сталкивался с этим раньше? Любые идеи, как исправить? Я попытался создать новый GUID и изменить commandId, но не повезло.
Выход Ошибка: исключение типа «System.ArgumentException» произошло в System.Design.dll, но не был обработан в пользовательском коде
Дополнительная информация: Существует уже обработчик команд для меню команда '4fd442a6-1a00-47ee-b98d-f11b0faafbe2: 256'.
Из файла VSCT:
<GuidSymbol name="guidVSProximityMenuPackageCmdSet3" value="{4FD442A6-1A00-47EE-B98D-F11B0FAAFBE2}">
<IDSymbol name="ProximityProjectExplorerGroup" value="4128" />
<IDSymbol value="256" name="cmdidGetNugetVersionCommand" />
</GuidSymbol>
Из файла command.cs:
/// <summary>
/// Command ID.
/// </summary>
public const int CommandId = 256;
/// <summary>
/// Command menu group (command set GUID).
/// </summary>
public static readonly Guid CommandSet = new Guid("4FD442A6-1A00-47EE-B98D-F11B0FAAFBE2");
Исключение брошено из этого метода (находится в файле command.cs)
/// <summary>
/// Initializes a new instance of the <see cref="GetNugetVersionCommand"/> class.
/// Adds our command handlers for menu (commands must exist in the command table file)
/// </summary>
/// <param name="package">Owner package, not null.</param>
private GetNugetVersionCommand(Package package)
{
if (package == null)
{
throw new ArgumentNullException("package");
}
this.package = package;
OleMenuCommandService commandService = this.ServiceProvider.GetService(typeof(IMenuCommandService)) as OleMenuCommandService;
if (commandService != null)
{
var menuCommandID = new CommandID(CommandSet, CommandId);
var menuItem = new MenuCommand(this.MenuItemCallback, menuCommandID);
commandService.AddCommand(menuItem);
}
}
В командеСервис.AddCommand (menuItem); когда я пытаюсь вызвать другую команду из меню в Visual Studio.
Еще раз спасибо за помощь!
Думаю, вам нужно добавить образцы кода. В противном случае это не будет воспроизводиться вообще – rbr94
Невозможно помочь без какой-либо информации. Скорее всего, вы не удалили существующую команду - вы проверяли какие-либо коды ошибок? Результаты? По крайней мере, отправьте код, который вы используете для удаления команды –
Согласно вашему коду, кажется, все в порядке, создайте новый проект и скопируйте соответствующий код в новый проект, в котором используется новый Guid. Проверьте, работает ли он. –