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

SharePoint PowerShell代码正常运行,同DLL的C#代码异常求助

以下PowerShell代码运行正常

该PowerShell代码可正常工作,但下方使用相同DLL文件的C#代码无法运行

# 加载SharePoint客户端程序集
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

# 递归上传文件夹及其内容的函数(未实现)

# 指定本地文件夹路径(未填写)

# 指定组织中Office 365全局管理员的用户账户
$AdminAccount = "fname.lname@domain.com"
$AdminPass = "MyPassword"

# 指定用户的OneDrive站点URL和文件夹名称
$OneDriveURL = "https://mysite.sharepoint.com/personal/fname_lname_doamin_com/"
$DocumentLibrary = "Documents"

# 连接并加载OneDrive库和根文件夹
$SecurePass = ConvertTo-SecureString $AdminPass -AsPlainText -Force
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($OneDriveURL)
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($AdminAccount,$SecurePass)

Write-Host $sss
$Ctx.Credentials = $Credentials

Try {
    $List = $Ctx.Web.Lists.GetByTitle($DocumentLibrary)
    $Ctx.Load($List)
    $Ctx.Load($List.RootFolder)
    
    $Ctx.ExecuteQuery()
    Write-Host $List.RootFolder.ServerRelativeUrl

} catch {
    Write-Host $_.Exception.Message -ForegroundColor "Red"
}

使用相同DLL文件的C#代码无法运行

我无法确定为何使用相同库文件的C#代码无法运行,该代码运行时会抛出异常。我已查阅相关文档但未找到解决方案,请问可能是什么问题导致的?

static void Main(string[] args)
{
    string AdminAccount = "fname.lname@domain.com";
    string AdminPass = "MyPassword";
    string defaultSite = "https://mysite.sharepoint.com/personal/fname_lname_doamin_com/";
    String DocumentLibrary = "Documents";
    Microsoft.SharePoint.Client.SharePointOnlineCredentials ss = new(AdminAccount, GetPassword(AdminPass));

    Microsoft.SharePoint.Client.ClientContext clientContext = new(defaultSite)
    {
        Credentials = ss
    };

    var list = clientContext.Web.Lists.GetByTitle(DocumentLibrary);

    clientContext.Load(list);
    clientContext.ExecuteQuery();
}

static public SecureString GetPassword(string PassS)
{
    char[] Pass = PassS.ToCharArray();
    var pwd = new SecureString();
    foreach (char c in Pass)
    {
        pwd.AppendChar(c);
    }
    return pwd;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 05:35:23