You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure成本详情获取代码报错:CS1061 'UsageDetail'无ResourceGroupName属性

解决UsageDetail类型无ResourceGroupName/ResourceName属性的CS1061错误

原因分析

你遇到的错误是因为当前使用的Azure成本管理库版本中,UsageDetail类并未直接暴露ResourceGroupName和ResourceName属性。这些信息要么嵌套在其他属性结构中,要么因SDK版本差异导致属性命名不同。

具体解决方案

方案1:使用新版Azure.ResourceManager.CostManagement库(推荐)

如果使用的是Azure SDK v2(基于Azure.ResourceManager的现代库),资源组和资源名称需要从ResourceId属性解析:

.GroupBy(r => 
    new { 
        ResourceGroupName = Azure.Core.ResourceIdentifier.Parse(r.ResourceId).ResourceGroupName,
        ResourceName = Azure.Core.ResourceIdentifier.Parse(r.ResourceId).Name
    })

ResourceIdentifier是Azure SDK提供的工具类,可直接从资源ID字符串中提取标准化的资源组、资源名称等信息。

方案2:适配旧版Microsoft.Azure.Management.CostManagement库

若使用的是旧版SDK v1,资源组信息通常在Properties.ResourceGroup字段,资源名称需要从ResourceId路径截取:

.GroupBy(r => 
    new { 
        ResourceGroupName = r.Properties.ResourceGroup,
        ResourceName = r.Properties.ResourceId.Split('/').Last()
    })

方案3:核对NuGet包版本

确认安装的NuGet包与代码逻辑匹配:

  • 新版SDK:安装Azure.ResourceManager.CostManagement
  • 旧版SDK:安装Microsoft.Azure.Management.CostManagement
    避免混合引用不同版本的Azure SDK,这会导致类型定义冲突。

验证步骤

  1. 清理项目NuGet缓存,重新安装对应版本的成本管理库
  2. 替换GroupBy代码中的属性获取逻辑
  3. 编译项目,检查错误是否消除

内容的提问来源于stack exchange,提问作者Carlos Zamora

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 14:47:06