При доступе к EnvDTE80.ProjectKinds.vsProjectKindSolutionFolder возникает ошибка взаимодействия.

Я использую Visual Studio 2017 Enterprise 15.7.5. Я запускаю новый проект VSIX и добавляю AsyncPackage. Затем я добавляю следующую строку в конец метода InitializeAsync.

var v = EnvDTE80.ProjectKinds.vsProjectKindSolutionFolder;

Я получаю красную волнистую линию под ProjectKinds и следующую ошибку:

Тип взаимодействия «ProjectKinds» не может быть внедрен. Вместо этого используйте соответствующий интерфейс.

Я смотрю на ссылку для EnvDTE80, и для параметра «Встроить типы взаимодействия» установлено значение false.

Так почему я получаю эту ошибку?


person pappy    schedule 19.12.2018    source источник
comment
Есть ли в проекте пакеты NuGet в узле «Ссылки»? Какие?   -  person Carlos Quintero    schedule 19.12.2018
comment
Да: CoreUtility 15.0.26201, Imaging 15.0.26201, Imaging.Interop.14.0.DesignTime 14.3.25408, OLE.Interop 7.10.6071, SDK.EmbedInteropTypes 15.0.10, Shell.15.0–15.0.26201, Shell.Framework 15.0. 26201, Shell.Interop 7.10.6071, Shell.Interop.10.0 — 10.0.30319, Shell.Interop.11.0 — 11.0.61030, Shell.Interop.12.0 — 12.0.30110, Shell.Interop.14.0.DesignTime 14.3.25407, Shell.Interop.8.0 — 8.0.50727, Shell.Interop.9.0 — 9.0.30729, TextManager.Interop 7.10.6070, TextManager.Interop.8.0 — 8.0.50727, Threading 15.0.240, Утилиты 15.0.26201, Проверка 15.0. 82 VSSDK.BuildTools 15.7.104   -  person pappy    schedule 20.12.2018
comment
Та же проблема для WindowKinds   -  person David Gardiner    schedule 18.04.2019


Ответы (1)


Обновите Microsoft.VisualStudio.SDK.EmbedInteropTypes до последней версии 15.0.27. В более старых версиях была ошибка, о которой я сообщил Microsoft, из-за которой в нее встраивались типы EnvDTE80, что невозможно, поскольку она содержит классы. См. комментарии к сообщению https://blogs.msdn.microsoft.com/visualstudio/2018/10/10/simplify-extension-development-with-packagereference-and-the-vssdk-meta-package/

person Carlos Quintero    schedule 20.12.2018
comment
Это проблема. Большое спасибо, что нашли время, чтобы помочь! - person pappy; 20.12.2018