首页 > 解决方案 > 即使类名是完全限定的,也会出现类型冲突?

问题描述

我定义了以下变量:

var x = Microsoft.WindowsAzure.Storage.Blob.StandardBlobTier.Hot;

但是编译器返回以下错误:

错误 CS0433 类型“StandardBlobTier”同时存在于“Microsoft.Azure.Storage.Blob,Version=9.4.2.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”和“Microsoft.WindowsAzure.Storage,Version=9.1.1.0,Culture=neutral”中, PublicKeyToken=31bf3856ad364e35'

我认为我从未见过在指定完全限定的类名后发生这样的类型冲突错误。知道此错误的根本原因可能是什么或如何解决吗?

更新

这里有一些更有趣的信息。下面的 y var 被设置为所述冲突类型的完全限定引用,但编译器告诉我冲突类型不存在!:

var x = Microsoft.WindowsAzure.Storage.Blob.StandardBlobTier.Hot;
var y = Microsoft.Azure.Storage.Blob.StandardBlobTier.Hot;

这似乎令人困惑

标签: c#.net

解决方案


您的应用程序可以使用该类型的 2 个版本。您可以将项目中的参考更改为使用“特定版本”。请参阅:程序集引用的“特定版本”属性在 Visual Studio 中究竟是如何工作的?


推荐阅读