我正在开发Visual Studio扩展程序,但很遗憾,我无法检查项目类型,请查看以下代码:
if (project.Kind == EnvDTE80.ProjectKinds.vsProjectKindSolutionFolder)
{
list.AddRange(GetSolutionFolderProjects(project));
}
else
{
list.Add(project);
}
答案 0 :(得分:4)
在线找到的常见建议是将EnvDTE80引用的“嵌入互操作类型”设置为false。但是,这对我不起作用。我不确定这是否是VS 2017的新功能。
基本上,
ProjectKinds
的定义(您可以直接进行定义
点击并选择“转到定义”)ProjectKinds
)的EnvDteProjectKinds
EnvDteProjectKinds
的项目中使用ProjectKinds
答案 1 :(得分:1)
Visual Studio 2017 15.8版使得可以使用PackageReference语法来引用Visual Studio可扩展性(VSIX)项目中的NuGet包。这样就可以更轻松地推断出NuGet软件包,并为拥有包含整个VSSDK的完整元软件包打开了大门。
在NuGet软件包下面安装将解决 EmbedInteropTypes 问题。
安装软件包Microsoft.VisualStudio.SDK.EmbedInteropTypes