无法嵌入互操作类型。请改用适用的接口。但是“嵌入式互操作类型”已经为假]] <<

问题描述 投票:0回答:1
在当前的VSIX项目中,出现以下错误:

Interop type 'ProjectKinds' cannot be embedded. Use the applicable interface instead

自然,我用谷歌搜索,几乎所有的SO answers建议去项目参考-在我的情况下是envDTE80-并将“嵌入互操作类型”设置为false。但是我已经检查过了,它不能解决问题。 

我还检查了“相似”引用(EnvDTE,EnvDTE100和EnvDTE90),并且它们的“嵌入互操作类型”都设置为false。

我想做的代码是:

private static string test = ProjectKinds.vsProjectKindSolutionFolder;

编辑#1:我还检查了.csproj并确认该属性为false

<Reference Include="EnvDTE80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <EmbedInteropTypes>False</EmbedInteropTypes> </Reference>

编辑#2:微软自己似乎建议使用一种.. Hacky解决方案作为最后的手段。在我看来似乎并不干净,但最终还是可以使用。 

https://blogs.msdn.microsoft.com/mshneer/2009/12/07/vs-2010-compiler-error-interop-type-xxx-cannot-be-embedded-use-the-applicable-interface-instead/

在当前的VSIX项目中,出现以下错误:无法嵌入互操作类型'ProjectKinds'。改用适用的界面自然地我用谷歌搜索,几乎所有的答案都建议...

c# visual-studio visual-studio-2017 vsix
1个回答
0
投票
如果在编辑#2中的链接再次中断,则为Microsoft博客文章。
© www.soinside.com 2019 - 2024. All rights reserved.