要点: 尝试创建AzureAdTokenCredentials对象会导致FileNotFoundException尝试加载Microsoft.IdentityModel.Clients.ActiveDirectory,Version = 3.13.1.846。我安装了版本= 3.19.4。
详细信息: 我告诉自己,我永远不会成为提出这样一个基本问题的人,但我们走了。所以我最近创作了一个与媒体服务交互的Azure功能。第一步是创建CloudMediaContext。似乎直截了当。我写了以下代码:
private CloudMediaContext CreateCloudMediaContext()
{
var key = new AzureAdClientSymmetricKey(_amsClientId, _amsClientSecret);
var credentials = new AzureAdTokenCredentials(_amsAadTenantDomain, key, AzureEnvironments.AzureCloudEnvironment);
var provider = new AzureAdTokenProvider(credentials);
return new CloudMediaContext(new Uri(_amsRestApiEndpoint), provider);
}
当尝试使用可怕的FileNotFoundException创建一个新的AzureAdTokenCredentials对象时,它迅速爆炸,该对象指定了我已经用于我的应用程序中的各种其他功能的相当旧的ActiveDirectory程序集版本。
我的问题最终是, 真的 是否需要从近2年前安装一个版本的程序集SxS与最新版本来修复此问题或者是否存在更好的解决方案?
答案 0 :(得分:1)
如果您查看此处使用Azure Media Services API的其他示例函数,https://github.com/Azure-Samples/media-services-dotnet-functions-integration/tree/master/media-functions-for-logic-app 你会看到类似的模式。 .NET SDK for Media Services的版本现在有点旧......但好消息是我们将在下周的// BUILD会议上发布Media Services API的v3预览和新的SDK。
新SDK只有以下两个依赖项:
如果您愿意尝试并转移到更新的API,您可以等到下周初。
你到底在做什么场景?编码,流媒体还是直播?