BC40059:创建了对嵌入的互操作程序集“<assembly1>”的引用,因为程序集“<assembly2>”间接引用了该程序集。

创建了对嵌入的互操作程序集“<assembly1>”的引用,因为程序集“<assembly2>”间接引用了该程序集。 请考虑更改任一程序集上的“Embed Interop Types”属性。

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

注意

将程序集引用的 Embed Interop Types 属性设置为 True,其效果等同于使用命令行编译器的 -link 选项引用该程序集。

错误 ID:BC40059

解决此警告

  • 要嵌入这两个程序集的互操作类型信息,请将对 assembly1 的所有引用的 Embed Interop Types 属性设置为 True

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

另请参阅