- Обновите пакет NuGet для Microsoft.VSSDK.BuildTools до последней версии 15.9.3032, на случай, если проблема уже решена.
- Конфигурации выпуска также могут генерировать файлы PDB (свойства проекта, вкладка «Построение», кнопка «Дополнительно ...», «Вывод»> «Отладочная информация»). Таким образом, если конфигурация Release работает для вас, вы можете продолжать использовать ее, одновременно генерируя файл pdb с полной отладочной информацией.
Ошибка возникает, когда после правильной компиляции сгенерированный выходной файл VSIX будет развернут в папку для расширений экспериментального экземпляра VS, что является необходимым шагом для отладки файла VSIX. Возможное объяснение различного поведения для конфигураций Debug / Release заключается в том, что, возможно, ваш .csproj указывает False для конфигурации Release. По умолчанию, если не установлено, это свойство имеет значение true в файле Microsoft.VsSDK.targets:
<Условие DeployExtension = "'$ (DeployExtension)' == ''"> true
Поскольку, скорее всего, вам не нужно развертывать VSIX на экспериментальном экземпляре VS при сборке на сервере сборки (поскольку вы не собираетесь его отлаживать), вы можете установить это свойство в False, чтобы пропустить развертывание. Это можно сделать с помощью третьей конфигурации сборки (например, «DebugBuildServer»), для которой вы указываете DeployExtension в False в файле .csproj или придерживаетесь двух конфигураций сборки, но передавая / p: DeployExtension = false в аргументах MSBuild Задача сборки Visual Studio вашего конвейера сборки.