在程序集2引用了程序集1,并且两个程序集都引用了相同的com组件后,会出现一个警告:
警告 1 由于程序集“xxxxx.dll”创建了对嵌入互操作程序集“c:\Program Files\Common Files\Microsoft Shared\MSEnv\PublicAssemblies\extensibility.dll”的间接引用,因此创建了对该程序集的引用。请考虑更改其中一个程序集的“嵌入互操作类型”属性。
如果你去项目属性中查找“嵌入互操作类型”属性(Embed Interop Types 属性),会发现根本找不到。
其实这个说明有些问题,应该修改的是引用的“嵌入互操作类型”属性(Embed Interop Types 属性),而不是项目的“嵌入互操作类型”属性(Embed Interop Types 属性)。只要你找到该引用,上面的例子是 “extensibility.dl” 的引用。然后在该应用的属性窗口修改就可以了。
注意 :将某个程序集引用的 Embed Interop Types 属性设置为 True 相当于通过使用命令行编译器的 /link 选项来引用该程序集。