编译器警告(等级 1)C4945

“symbol”:无法从“assembly2”导入符号:因为“symbol”已从另一个程序集“assembly1”导入

从某个被引用的程序集导入了某个符号,但该符号已从另一个被引用的程序集导入过。 请不要引用这些程序集之一,或者,请获取在这些程序集之一中更改的符号名称。

以下示例生成 C4945。

// C4945a.cs
// compile with: /target:library
// C# source code to create a dll
public class ClassA {
   public int i;
}

然后,

// C4945b.cs
// compile with: /target:library
// C# source code to create a dll
public class ClassA {
   public int i;
}

然后,

// C4945c.cpp
// compile with: /clr /LD /W1
#using "C4945a.dll"
#using "C4945b.dll"   // C4945