为了账号安全,请及时绑定邮箱和手机立即绑定

Interop类型无法嵌入

Interop类型无法嵌入

慕少森 2019-07-25 15:25:50
Interop类型无法嵌入我正在使用C#在.NET 4.0框架(beta2)上创建一个Web应用程序。当我尝试使用名为“ActiveHomeScriptLib”的程序集时,出现以下错误:无法嵌入Interop类型'ActiveHomeScriptLib.ActiveHomeClass'。请改用适用的界面。当我将框架更改为3.5版时,我没有任何错误。什么是Interop Type,为什么只有在我使用4.0框架时才会出现这种情况?
查看完整描述

3 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

.NET 4.0允许将主互操作程序集(或者更确切地说,它所需的部分)嵌入到程序集中,这样您就不需要将它们与应用程序一起部署。

无论出于何种原因,这个组件都无法嵌入 - 但听起来这对你来说不是问题。只需在Visual Studio 2010中打开程序集的“属性”选项卡,并将“嵌入互操作类型”设置为“False”。

编辑:另请参阅Michael Gustus的答案Class从您正在使用的类型中删除后缀。


查看完整回答
反对 回复 2019-07-25
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

在大多数情况下,此错误是尝试实例化COM对象的代码的结果。例如,这是一段启动Excel的代码:

Excel.ApplicationClass xlapp = new Excel.ApplicationClass();

通常,在.NET 4中,您只需要删除“Class”后缀并编译代码:

Excel.Application xlapp = new Excel.Application();

MSDN的解释在这里


查看完整回答
反对 回复 2019-07-25
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

和Jan一样,我花了一段时间才得到它... = S所以对于那些因挫败感而蒙羞的人。

  • 右键单击您在项目“ 参考”下的解决方案资源管理器中添加的有问题的程序集。(在我看来是WIA)

  • 单击属性。

  • Embed Interop Assembly应该有选择

  • 将其设置为False


查看完整回答
反对 回复 2019-07-25
  • 3 回答
  • 0 关注
  • 521 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信