我有一个Solution.dll
方法来打开 SharePoint Online 命令行管理程序并执行此处提到的操作。当我这样做时,我有时会碰巧遇到异常,
Could not load type 'Microsoft.Online.SharePoint.TenantManagement.SPOConditionalAccessPolicyType' from assembly 'Microsoft.Online.SharePoint.Client.Tenant, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'.
问题是我Microsoft.Online.SharePoint.Client.Tenant.dll
在我所在的同一目录中有一个旧版本Solution.dll
。而且它没有SPOConditionalAccessPolicyType
类。而 'C:\Program Files\SharePoint Online Management Shell\Microsoft.Online.SharePoint.PowerShell\Microsoft.Online.SharePoint.Client.Tenant.dll' 具有该类。
因此,当我想访问在线命令行管理程序时,我希望解决方案加载“在线命令行管理程序”文件夹中的租户 dll,而不是在我的项目文件夹中加载 dll。
尝试给出以下内容,
InitialSessionState iss = InitialSessionState.CreateDefault();
iss.ImportPSModule(new string[2] { "C:\\Program Files\\SharePoint Online Management Shell\\Microsoft.Online.SharePoint.PowerShell\\Microsoft.Online.SharePoint.PowerShell.dll",
"C:\\Program Files\\SharePoint Online Management Shell\\Microsoft.Online.SharePoint.PowerShell\\Microsoft.Online.SharePoint.Client.Tenant.dll" });
但没有运气。仍然出现“无法加载类型...”错误。
删除旧版本的 dll 可能不是我的解决方案,因为我需要它用于不同的目的。无论是否存在程序集,我如何指定应始终加载的所需 dll 路径。