.net类库名称空间冲突怎么办?
常见案例是MySql.Data和MySqlConnector。
比如一般的orm for mysql用的是mysql.data,而Pomelo.EFCore.MySql用的是MySqlConnector。当同时引用这两个类库的时候,如果需要new MySqlConnection()可能就会发生冲突了。
此时可以使用alias关键词。
1,给其中一个依赖包起别名
<PackageReference Include="MySqlConnector" Version="0.69.8"> <Aliases>A</Aliases> </PackageReference>
2,在使用到有冲突类型的.cs文件首行引入别名
extern alias A;
3,使用带别名的全名称来使用类型
var conn = new A::MySql.Data.MySqlClient.MySqlConnection(connectionString);