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

复制的DriveItem-copy C#代码片段报错:DriveRequestBuilder无Items定义,如何修复?

解决‘DriveRequestBuilder’不包含‘Items’定义的问题

问题根源

微软Graph SDK v4及后续版本的API结构有调整,官方文档的代码片段未及时更新,导致直接复制的代码和当前SDK版本不兼容,哪怕降级到v4.54也因为写法不对报错。

分版本修正代码

适配Graph SDK v5.x

v5.x里DriveRequestBuilder下的资源名称从Items改成了DriveItems,修正后的复制代码示例:

var requestBody = new CopyDriveItemActionParameter
{
    ParentReference = new ItemReference
    {
        Id = "目标文件夹ID"
    },
    Name = "复制后的文件名"
};

var result = await graphClient.Drives["你的DriveID"].DriveItems["源文件ID"].Copy.PostAsync(requestBody);

适配Graph SDK v4.x

v4.x里确实是Items,但要确保命名空间和客户端实例没问题,修正后的示例:

var copyRequestBody = new CopyDriveItemActionParameter
{
    ParentReference = new ItemReference
    {
        Id = "目标文件夹ID"
    },
    Name = "复制后的文件名"
};

var result = await graphClient.Drives["你的DriveID"].Items["源文件ID"].Copy.PostAsync(copyRequestBody);

必做检查项

  • 确认已引入正确的命名空间:
    • v5.x:using Microsoft.Graph; + using Microsoft.Graph.Models;
    • v4.x:using Microsoft.Graph;
  • 检查graphClient实例是否完成了身份验证初始化,确保能正常调用Graph API
  • 若仍有问题,清理NuGet缓存后重新安装对应版本包:
    dotnet nuget locals all --clear
    dotnet add package Microsoft.Graph --version 4.54.0
    

内容的提问来源于stack exchange,提问作者Kyle Omblero

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 04:22:17