Compiler Warning (level 1) CS1762

由于程序集'<assembly2>'间接引用了程序集'<assembly1>',一个引用将被创建并嵌入到互操作程序集 assembly1 中.请考虑更改任一程序集的“嵌入互操作类型”属性。

您已添加了一个对 Embed Interop Types 属性设置为 True 的程序集 (assembly1) 的引用。这将指示编译器嵌入该程序集中的互操作类型信息。但是,编译器无法嵌入该程序集中的互操作类型信息,因为您已引用的另一个程序集 (assembly2) 也引用了该程序集 (assembly1) 并且它的 Embed Interop Types 属性设置为 False

注意
将某个程序集引用的 Embed Interop Types 属性设置为 True 相当于通过使用命令行编译器的 /link 选项来引用该程序集。

处理此警告

  • 若要嵌入这两个程序集的互操作类型信息,请将对 assembly1 的所有引用的 Embed Interop Types 属性设置为 True。有关如何设置此属性的更多信息,请参见 演练:嵌入托管程序集中的类型(C# 和 Visual Basic)

  • 若要移除此警告,您可以将 assembly1 的 Embed Interop Types 属性设置为 False。在这种情况下,互操作类型信息由主互操作程序集 (PIA) 提供。

请参阅

/link (C# Compiler Options)

Programming with Primary Interop Assemblies