【问题标题】:The type or namespace name 'Storage' does not exist in the namespace 'Microsoft.WindowsAzure'命名空间“Microsoft.WindowsAzure”中不存在类型或命名空间名称“Storage”
【发布时间】:2020-12-04 17:26:47
【问题描述】:

我已更新到 Visual Studio 2013 Update 2 RC 和 Azure SDK 2.3。

现在我收到以下错误:

The type or namespace name 'Storage' does not exist in the namespace 'Microsoft.WindowsAzure'

在所有这三个方面:

using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Auth;
using Microsoft.WindowsAzure.Storage.Blob;

如果我使用命名空间删除这些,则会收到错误消息:

找不到类型或命名空间名称“CloudBlobClient”(是 您缺少 using 指令或程序集引用?)

在这一行:

CloudBlobClient _blobClient;

我得到 VS 中的小下划线,建议我添加:

使用 Microsoft.WindowsAzure.Storage.Blob;

VS 告诉我的同一个命名空间不存在。

有什么想法吗?

【问题讨论】:

  • 是否有任何其他(非 Azure)错误导致解决方案无法编译?
  • 我在我们的项目中也遇到了这个问题。似乎有时升级不会自动更新项目中的引用。仔细检查所有项目是否引用了新的 Windows Azure .dll。
  • @mellamokb 我通过nugget更新了azure相关的dll,还有其他需要更新的dll吗?
  • 我的意思是实际上单击项目中的每个引用并检查属性。确保它们是新版本 (2.3),而不是您更新的任何旧版本的 SDK。我注意到在我们的一些较大的解决方案(包含 10 多个项目)中,NuGet 更新实际上修复了哪些引用。
  • @CarstenSchütte 问题已解决。周一 WindowsAzure.Storage 4.0 在 NuGet 上发布,修复了这个问题。我还为 VS 安装了更新 2 的 RTM,但我认为这不相关。

标签: azure visual-studio-2013 azure-blob-storage


【解决方案1】:

5 月 12 日,微软在 NuGet 上发布了 WindowsAzure.Storage 4.0。从 3.1 升级到此软件包可解决此问题。

【讨论】:

  • 升级到 v4.0 并没有解决这里的问题。但是将程序集的目标框架从 v4.0 更改为 v4.5 修复了它。
  • SDK 更新后,如果它们不兼容,Visual Studio 将简单地在 nuget 包列表中显示一个 (!) 标记。因此,只需更新列表即可消除此问题
【解决方案2】:

存在错误的 Azure SDK 2.3 版本,其中包含无效的 Newtonsoft.Json 程序集。

解决方案(来自 MSDN 论坛):“请尝试删除或重命名程序 files\microsoft sdks\windows azure.net sdk\v2.3\ref 中的 newtonsoft.json.dll 并进行完全重建。我们将发布更新 SDK 2.3 以修复此错误,但上述解决方法有望在此期间解除对您的阻止。”

请看这里: https://social.technet.microsoft.com/Forums/windowsazure/en-US/038a5759-d0a1-448c-8ed3-560e8c8fb0b5/azure-sdk-23-error-compiling-project-with-azurestorage-in-net-4?forum=windowsazuredevelopment

【讨论】:

    【解决方案3】:

    也许这很明显,但我在其他任何地方都没有找到这个解决方案。我最终想通了,并把它放在这里给面临同样问题的其他人。

    我通过解决方案克隆到全新的 Surface Pro。一开始,我得到了大约 30 个错误之类的东西。 visual studio (2017) 通常有时会这样做。在多个解决方案清理和重建并重新启动 Visual Studio 后,所有错误都消失了,除了这个关于存储命名空间的错误。

    我在我的主计算机上仔细检查了一遍(它有完全相同的项目并且运行良好),发现引用在那里但 DLL 本身丢失了。没有丢失 nuget 包或类似的东西。

    最终,经过深入挖掘,我发现主计算机安装了 Azure SDK,而新的 Surface Pro 显然没有。我使用 Visual Studio 安装程序修改/修复选项安装了 Azure SDK,问题就消失了。

    【讨论】:

      【解决方案4】:

      添加全局:: 使用全局::Microsoft.WindowsAzure.Storage;

      【讨论】:

      • 注意:非常简短的答案和/或回帖者的问题可能应该是 cmets。你只需要 50 个代表点就可以在一个问题下发表评论 - 你能把它移到那里吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-19
      • 1970-01-01
      • 2012-05-28
      • 1970-01-01
      • 1970-01-01
      • 2018-05-09
      • 2022-01-11
      相关资源
      最近更新 更多