首页 > 解决方案 > 访问 EnvDTE80.ProjectKinds.vsProjectKindSolutionFolder 会产生互操作错误

问题描述

我正在使用 Visual Studio 2017 Enterprise 15.7.5 我开始一个新的 VSIX 项目并添加一个 AsyncPackage。然后我将以下行添加到 InitializeAsync 方法的底部。

var v = EnvDTE80.ProjectKinds.vsProjectKindSolutionFolder;

我在 ProjectKinds 下得到一个红色曲线,并出现以下错误:

无法嵌入互操作类型“ProjectKinds”。请改用适用的接口。

我查看了 EnvDTE80 的参考,并且“嵌入互操作类型”设置为 false。

那么为什么我会收到这个错误呢?

标签: visual-studiovsixvs-extensibility

解决方案


将 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/的评论


推荐阅读