编译错误 - 两个类中的类型名称相同

时间:2017-02-15 14:05:00

标签: c# mysql visual-studio compiler-errors uwp

大家。

我正在使用Visual Studio来开发uwp应用程序。编译器说FileModeMySql.Data.RT中都存在System.IO.FileSystem.Primitives类型。错误信息如下。

Error CS0433 Type 'FileMode' exists in both 'MySql.Data.RT, Version=6.7.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' and 'System.IO.FileSystem.Primitives, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.    

但是,我使用了类型的完整名称,如下所示。

FileStream fileStream = new FileStream(fileName, System.IO.FileMode.Open);

我不知道为什么还有错误,欢迎任何建议。

修改

我不认为这个问题是重复的,因为我找不到任何方法来修改所提供的候选复制问题的答案,以解决我遇到的问题。

修改

我最终自己解决了这个问题。我发现名称空间System.IO存在于两个dll文件MySql.Data.RTSystem.IO.FileStream.Primitives中。这就是为什么即使我指定了对象的全名(System.IO.FileMode),编译器仍然不知道它应该引用该对象的dll文件。 我的解决方案是将MySql.Data.RT的别名添加为MySQL,并修改代码如下。

using MySql.Data.MySqlClient;

=>

extern alias MySQL;
using MySQL::MySql.Data.MySqlClient;

注意:

可以通过在解决方案资源管理器中右键单击引用来为引用添加别名,然后单击property选项,然后将显示UI。

0 个答案:

没有答案