c# - 无法嵌入互操作类型“ProjectKinds”。改用适用的接口
问题描述
我正在开发一个视觉工作室扩展,但不幸的是我无法检查项目类型,请查看以下代码:
if (project.Kind == EnvDTE80.ProjectKinds.vsProjectKindSolutionFolder)
{
list.AddRange(GetSolutionFolderProjects(project));
}
else
{
list.Add(project);
}
解决方案
在网上找到的常见建议是将“嵌入互操作类型”设置为 false,以便 EnvDTE80 引用为 false。然而,这对我不起作用。我不确定这对于 VS 2017 是否是新的。
我发现这个 MSDN 页面对我有帮助:https ://blogs.msdn.microsoft.com/mshneer/2009/12/07/vs-2010-compiler-error-interop-type-xxx-cannot-be-embedded-use -the-applicable-interface-instead/
基本上,
- 找到的定义
ProjectKinds
(您可以通过右键单击并选择“转到定义”来完成) - 在您的项目中
ProjectKinds
使用不同的名称(即。 )制作副本EnvDteProjectKinds
EnvDteProjectKinds
在您本来会使用的项目中使用ProjectKinds
推荐阅读
- javascript - execCommand() 已弃用,复制表解决方案
- c++ - 从 Hadoop 构建“本机”时无法打开包含文件:“org_apache_hadoop_io_nativeio_NativeIO.h”错误
- javascript - 使用 vuejs 创建模态组件
- git - 合并后哪个提交是 HEAD^,为什么它不是正确的
- python - 如何根据值或条件动态地从系列中选择行?
- javascript - 如何创建单线气泡 Chartjs 图表?
- javascript - JS动态创建的SVG在IOS中不起作用/动画
- powerbi - 创建最近 5 年的列表 1. 一月
- python - 使用 micro python 存储存储在 EV3 中的读取数据
- playwright - 剧作家组件测试