BC30961:“<typename1>”类型的值无法转换为“<typename2>”(多个文件引用)

类型“<typename1>”的值无法转换为“<typename2>” 类型不匹配可能是由于项目“<projectname1>”中对“<filepath1>”的文件引用与项目“<projectname2>”中对“<filepath2>”的文件引用混合所致。 如果两个程序集完全相同,请尝试更换这些引用,以确保两个引用都来自相同的位置。

在项目对程序集进行多个文件引用的情况下,编译器无法保证可以将一种类型转换为另一种类型。

每个文件引用指定项目输出文件(通常是 DLL 文件)的文件路径和名称。 编译器不能保证输出文件来自相同的源,或者它们代表相同程序集的相同版本。 因此,它不能保证不同引用中的类型是同一类型,甚至不能保证一种可以转换为另一种。

如果你知道引用的程序集具有相同的程序集标识,则可以使用单个文件引用。 程序集标识 包括程序集的名称、版本、公钥(如果有)和区域性。 此信息唯一地标识该程序集。

错误 ID:BC30961

更正此错误

  • 如果引用的程序集具有相同的程序集标识,则删除或替换其中一个文件引用,以便只有一个文件引用。

  • 如果引用的程序集没有相同的程序集标识,则更改你的代码,以便它不会尝试将一个类型转换为另一个类型。

另请参阅