相关疑难解决方法(0)

Interop类型无法嵌入

我正在使用C#在.NET 4.0框架(beta2)上创建一个Web应用程序.

当我尝试使用名为"ActiveHomeScriptLib"的程序集时,出现以下错误:

无法嵌入Interop类型'ActiveHomeScriptLib.ActiveHomeClass'.请改用适用的界面.

当我将框架更改为3.5版时,我没有任何错误.

什么是互操作类型,为什么只有在我使用4.0框架时才会出现这种情况?

c# visual-studio-2010 visual-studio c#-4.0

648
推荐指数
7
解决办法
35万
查看次数

在NuGet包中将Interop类型嵌入为false

我的项目中需要引用一个程序集,该程序集需要将“嵌入互操作类型”设置为false才能成功进行编译。如果不放置此选项,则会出现编译时错误:

A reference was created to embedded interop assembly 'Interop.MSTSCLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' because of an indirect reference to that assembly created by assembly 'AxInterop.MSTSCLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Consider changing the 'Embed Interop Types' property on either assembly.
Run Code Online (Sandbox Code Playgroud)

如果我只是有一个项目,我会将选项设置为false而不用担心它,但是现在我正在使用它制作一个nuget程序包,我试图找到一种在程序包设置选项的方法已添加

我的nuspec文件当前具有以下内容(省略了元数据):

<files>
  <file src="Interop.MSTSCLib.dll" target="lib\net40" />
  <file src="AxInterop.MSTSCLib.dll" target="lib\net40" />
</files>
Run Code Online (Sandbox Code Playgroud)

我查看了nuget文档,但找不到如何执行此操作。可能吗?

visual-studio nuget

3
推荐指数
1
解决办法
1317
查看次数

标签 统计

visual-studio ×2

c# ×1

c#-4.0 ×1

nuget ×1

visual-studio-2010 ×1