Azure.Identity 1.12.0
前缀已保留
请查看下面的版本列表获取详细信息。
dotnet add package Azure.Identity --version 1.12.0
NuGet\Install-Package Azure.Identity -Version 1.12.0
Install-Package
版本。<PackageReference Include="Azure.Identity" Version="1.12.0" />
paket add Azure.Identity --version 1.12.0
#r "nuget: Azure.Identity, 1.12.0"
// Install Azure.Identity as a Cake Addin #addin nuget:?package=Azure.Identity&version=1.12.0 // Install Azure.Identity as a Cake Tool #tool nuget:?package=Azure.Identity&version=1.12.0
Azure Identity .NET 客户端库
Azure Identity 库为 Azure SDK 提供了 Microsoft Entra ID (之前称为 Azure Active Directory) 认证令牌支持。它提供了一组 TokenCredential
实现,可用来构建支持 Microsoft Entra 认证令牌的 Azure SDK 客户端。
源代码 | 软件包 (NuGet) | API 参考文档 | Microsoft Entra ID 文档
入门
安装包
使用 NuGet 安装 .NET Azure Identity 客户端库
dotnet add package Azure.Identity
先决条件
- 一个 Azure 订阅。
- Azure CLI(命令行工具)也可以用于开发环境中的认证、创建账户和账户角色管理。
认证客户端
当在本地进行调试和执行代码时,开发者通常使用自己的账户进行对 Azure 服务的认证。有多种开发者工具可用于在你的开发环境中执行此认证。
通过 Visual Studio 认证
使用 Visual Studio 2017 或更高版本的开发者可以通过 IDE 认证 Microsoft Entra 账户。使用 DefaultAzureCredential
或 VisualStudioCredential
的应用程序可以通过运行本地应用程序时使用此账户进行认证。
在 Visual Studio 中进行认证,请选择菜单中的 工具 > 选项 以启动选项对话框。然后导航到 Azure Service Authentication
选项,并使用您的 Microsoft Entra 账户登录。
通过 Visual Studio Code 认证
使用 Visual Studio Code 的开发者可以使用 Azure 账户扩展 在编辑器中进行认证。使用 DefaultAzureCredential
或 VisualStudioCodeCredential
的应用程序可以通过在本地运行时使用此账户进行认证。
已知问题是 VisualStudioCodeCredential
不会与版本高于 0.9.11 的 Azure 账户扩展 一起工作。该问题的长期修复正在进展中。同时,可以考虑通过 Azure CLI 认证。
通过 Azure CLI 认证
在 IDE 外编码的开发者也可以使用 Azure CLI 进行认证。使用 DefaultAzureCredential
或 AzureCliCredential
的应用程序可以通过在本地运行时使用此账户进行认证。
要使用 Azure CLI 认证,用户可以运行 az login
命令。对于在具有默认网络浏览器的系统上运行的用户,Azure CLI 将打开浏览器以进行用户认证。
对于没有默认网络浏览器的系统,az login
命令将使用设备代码验证流程。用户也可以通过指定 --use-device-code
参数强制 Azure CLI 使用设备代码流程而不是打开浏览器。
通过 Azure Developer CLI 认证
在 IDE 外编码的开发者也可以使用 Azure Developer CLI 进行认证。使用 DefaultAzureCredential
或 AzureDeveloperCliCredential
的应用程序可以通过在本地运行时使用此账户进行认证。
要使用 Azure Developer CLI 认证,用户可以运行命令 azd auth login
。对于在具有默认网络浏览器的系统上运行的用户,Azure Developer CLI 将打开浏览器以进行用户认证。
对于没有默认网络浏览器的系统,azd auth login --use-device-code
命令将使用设备代码验证流程。
通过 Azure PowerShell 认证
在 IDE 外编码的开发者也可以使用 Azure PowerShell 进行认证。使用 DefaultAzureCredential
或 AzurePowerShellCredential
的应用程序可以通过在本地运行时使用此账户进行认证。
要使用 Azure PowerShell 进行身份验证,用户可以运行命令 Connect-AzAccount
。对于运行默认网络浏览器且 Azure PowerShell 版本为 5.0.0 或更高版本的系统,它会启动浏览器来验证用户。
对于没有默认网络浏览器的系统,Connect-AzAccount
命令将使用设备代码身份验证流程。用户还可以通过指定 UseDeviceAuthentication
参数来强制 Azure PowerShell 使用设备代码流程而不是启动浏览器。
关键概念
凭据
凭据是一个类,其中包含或可以获取服务客户端用于验证请求所需的数据。Azure SDK 中的所有服务客户端在其构造时都会接受凭据。服务客户端使用这些凭据来验证对服务的请求。
Azure Identity 库专注于使用 Microsoft Entra ID 的 OAuth 身份验证,并提供了一系列凭证类,以获取 Microsoft Entra 令牌来验证服务请求。该库中所有凭证类都是 Azure.Core 中的 TokenCredential
抽象类的实现,可以用于构造具有验证功能的服务客户端。
参阅 凭证类 以获取所有可用的凭证类型的完整列表。
DefaultAzureCredential
DefaultAzureCredential
适用于大多数应用最终要在 Azure 上运行的场景。这是因为 DefaultAzureCredential
结合了部署时常用以进行身份验证的凭据和开发环境中用identity authenticate的凭据。
注意:
DefaultAzureCredential
旨在通过处理具有合理默认行为的常见场景来简化 SDK 的入门。希望有更多控制或其场景不符合默认设置的 developer 应使用其他凭证类型。
DefaultAzureCredential
将按以下顺序尝试通过以下机制进行身份验证,一旦成功则停止
- 环境 -
DefaultAzureCredential
将读取通过 环境变量 指定的帐户信息,并使用它进行身份验证。 - 工作负载身份 - 如果应用程序部署到启用了 Workload Identity 的 Azure 主机,则
DefaultAzureCredential
将使用该帐户进行身份验证。 - 托管标识 - 如果应用程序部署到启用了托管标识的 Azure 主机,则
DefaultAzureCredential
将使用该帐户进行身份验证。 - Visual Studio - 如果开发者已通过 Visual Studio 进行身份验证,则
DefaultAzureCredential
将使用该帐户进行身份验证。 - Visual Studio Code - 目前默认排除,因为由于问题 #27263,通过 Visual Studio Code 的 SDK 身份验证已损坏。一旦问题修复,将在
DefaultAzureCredential
流程中重新启用VisualStudioCodeCredential
。问题 #30525 跟踪此问题。在此期间,Visual Studio Code 用户可以使用 Azure CLI 来验证他们的开发环境。 - Azure CLI - 如果开发者已通过 Azure CLI
az login
命令验证了帐户,则DefaultAzureCredential
将使用该帐户进行身份验证。 - Azure PowerShell - 如果开发者已通过 Azure PowerShell
Connect-AzAccount
命令验证了帐户,则DefaultAzureCredential
将使用该帐户进行身份验证。 - Azure开发者CLI - 如果开发者通过Azure开发者CLI命令
azd auth login
进行了身份验证,则DefaultAzureCredential
将使用该账号进行身份验证。 - 交互式浏览器 - 如果启用,则
DefaultAzureCredential
将通过系统默认浏览器与开发者进行交互式身份验证。默认情况下,此凭据类型是禁用的。
续订策略
从版本1.10.1开始,DefaultAzureCredential
将尝试使用所有开发者凭据进行身份验证,直到成功为止,而不管之前开发者凭据遇到任何错误。例如,一个开发者凭据可能尝试获取令牌并失败,所以DefaultAzureCredential
将继续到下一个凭据。已部署的服务凭据如果在尝试获取令牌时没有收到任何令牌,将通过抛出异常来停止该流。在版本1.10.1之前,如果token检索失败,开发者凭据也会类似地停止身份验证流程。
此行为允许尝试机器上所有的开发者凭据,同时具有可预测的已部署行为。
示例
使用DefaultAzureCredential
进行身份验证
此示例演示了使用DefaultAzureCredential
从Azure.Security.KeyVault.Secrets客户端库中验证SecretClient
。
// Create a secret client using the DefaultAzureCredential
var client = new SecretClient(new Uri("https://myvault.vault.azure.net/"), new DefaultAzureCredential());
启用DefaultAzureCredential
的交互式身份验证
默认情况下,在DefaultAzureCredential
中禁用交互式身份验证。此示例演示了两种启用DefaultAzureCredential
交互式身份验证部分的方法。启用后,如果没有其他凭据可用,则DefaultAzureCredential
将回退到通过系统默认浏览器与开发者进行交互式身份验证。然后该示例通过启用交互式身份验证使用DefaultAzureCredential
从Azure.Messaging.EventHubs客户端库进行身份验证。
// the includeInteractiveCredentials constructor parameter can be used to enable interactive authentication
var credential = new DefaultAzureCredential(includeInteractiveCredentials: true);
var eventHubClient = new EventHubProducerClient("myeventhub.eventhubs.windows.net", "myhubpath", credential);
使用DefaultAzureCredential
指定用户分配的托管标识
许多Azure主机允许分配用户分配的托管标识。以下示例演示了配置DefaultAzureCredential
在部署到Azure主机时验证用户分配的托管标识。示例代码使用凭据通过Azure.Storage.Blobs客户端库进行身份验证。它还演示了您可以通过客户端ID或资源ID指定用户分配的托管标识。
客户端ID
要使用客户端ID,采用以下方法之一
// When deployed to an Azure host, DefaultAzureCredential will authenticate the specified user-assigned managed identity.
string userAssignedClientId = "<your managed identity client ID>";
var credential = new DefaultAzureCredential(
new DefaultAzureCredentialOptions
{
ManagedIdentityClientId = userAssignedClientId
});
var blobClient = new BlobClient(
new Uri("https://myaccount.blob.core.windows.net/mycontainer/myblob"),
credential);
- 设置环境变量
AZURE_CLIENT_ID
。
资源ID
要使用资源ID,设置DefaultAzureCredentialOptions.ManagedIdentityResourceId属性。资源ID采用以下形式:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}
。由于资源ID可以由惯例生成,因此当你在环境中有许多用户分配的托管标识时,它可能更方便。例如
string userAssignedResourceId = "<your managed identity resource ID>";
var credential = new DefaultAzureCredential(
new DefaultAzureCredentialOptions
{
ManagedIdentityResourceId = new ResourceIdentifier(userAssignedResourceId)
});
var blobClient = new BlobClient(
new Uri("https://myaccount.blob.core.windows.net/mycontainer/myblob"),
credential);
使用ChainedTokenCredential
定义自定义身份验证流程
虽然 DefaultAzureCredential
通常是开始开发针对 Azure 的应用程序的最快方法,但更高级用户可能需要在身份验证时自定义考虑的凭证。 ChainedTokenCredential
允许用户组合多个凭证实例,以定义自定义的凭证链。此示例演示了创建一个 ChainedTokenCredential
,它将尝试使用托管身份进行身份验证,如果在当前环境中发现托管身份不可用,则回退到通过 Azure CLI 进行身份验证。然后使用此凭证从 Azure.Messaging.EventHubs 客户端库中验证 EventHubProducerClient
。
// Authenticate using managed identity if it is available; otherwise use the Azure CLI to authenticate.
var credential = new ChainedTokenCredential(new ManagedIdentityCredential(), new AzureCliCredential());
var eventHubProducerClient = new EventHubProducerClient("myeventhub.eventhubs.windows.net", "myhubpath", credential);
托管身份支持
通过 DefaultAzureCredential
或直接使用 ManagedIdentityCredential
,以下 Azure 服务支持 托管身份身份验证
- Azure App Service 和 Azure Functions
- Azure Arc
- Azure Cloud Shell
- Azure Kubernetes Service
- Azure Service Fabric
- Azure 虚拟机
- Azure 虚拟机扩展集
截至版本 1.8.0,ManagedIdentityCredential
支持 令牌缓存。
示例
以下示例演示了使用 ManagedIdentityCredential
验证 Azure.Security.KeyVault.Secrets 客户端库中的 SecretClient
。
使用用户分配的托管身份进行身份验证
var credential = new ManagedIdentityCredential(clientId: userAssignedClientId);
var client = new SecretClient(new Uri("https://myvault.vault.azure.net/"), credential);
使用系统分配的托管身份进行身份验证
var credential = new ManagedIdentityCredential();
var client = new SecretClient(new Uri("https://myvault.vault.azure.net/"), credential);
云配置
凭证默认用于验证到 Azure 公共云的 Microsoft Entra 端点。要访问其他云中的资源,例如 Azure 政府或私有云,请使用 AuthorityHost
参数配置凭证。 AzureAuthorityHosts 定义了知名云的当局
var credential = new DefaultAzureCredential(new DefaultAzureCredentialOptions { AuthorityHost = AzureAuthorityHosts.AzureGovernment });
并非所有凭证都需要此配置。通过开发工具(如 AzureCliCredential
)进行身份验证的凭证使用该工具的配置。
凭证类
验证 Azure 托管应用程序
凭证 | 用法 |
---|---|
DefaultAzureCredential |
提供了简化的身份验证体验,以快速开始开发在 Azure 中运行的应用程序。 |
ChainedTokenCredential |
允许用户定义由多个凭证组成自定义身份验证流程。 |
EnvironmentCredential |
通过环境变量中指定的凭证信息对服务主体或用户进行身份验证。 |
ManagedIdentityCredential |
验证 Azure 资源的托管身份。 |
WorkloadIdentityCredential |
在 Kubernetes 上支持 Microsoft Entra Workload ID。 |
验证服务主体
凭证 | 用法 | 参考 |
---|---|---|
AzurePipelinesCredential |
在 Azure Pipelines 上支持 Microsoft Entra Workload ID。 | example |
ClientAssertionCredential |
使用签名客户端声明对服务主体进行身份验证。 | |
ClientCertificateCredential |
使用证书对服务主体进行身份验证。 | 服务主体身份验证 |
ClientSecretCredential |
使用密钥对服务主体进行身份验证。 | 服务主体身份验证 |
验证用户
凭证 | 用法 | 参考 |
---|---|---|
AuthorizationCodeCredential |
使用以前获得的授权代码对用户进行身份验证。 | OAuth2 授权代码 |
DeviceCodeCredential |
在具有有限 UI 的设备上交互式地对用户进行身份验证。 | 设备代码身份验证 |
InteractiveBrowserCredential |
使用默认系统浏览器对用户进行交互式身份验证。 | OAuth2 授权代码 |
OnBehalfOfCredential |
通过请求链传播委派用户身份和权限。 | 代表身份验证 |
UsernamePasswordCredential |
使用用户名和密码验证用户。 | 用户名 + 密码身份验证 |
通过开发工具进行验证
凭证 | 用法 | 参考 |
---|---|---|
AzureCliCredential |
使用 Azure CLI 在开发环境中进行验证。 | Azure CLI 身份验证 |
AzureDeveloperCliCredential |
使用 Azure Developer CLI 在开发环境中进行验证。 | Azure Developer CLI 参考 |
AzurePowerShellCredential |
使用 Azure PowerShell 在开发环境中进行验证。 | Azure PowerShell 身份验证 |
VisualStudioCredential |
使用 Visual Studio 在开发环境中进行验证。 | Visual Studio 配置 |
VisualStudioCodeCredential |
以 Visual Studio Code Azure 账户扩展中登录的用户身份进行验证。 | VS Code Azure 账户扩展 |
注意: Azure Identity 库中所有凭证实现都是线程安全的,单个凭证实例可以被多个服务客户端使用。
环境变量
DefaultAzureCredential
和 EnvironmentCredential
可通过环境变量进行配置。每种类型的身份验证都需要特定变量的值
具有密钥的服务主体
变量名 | 值 |
---|---|
AZURE_CLIENT_ID |
Microsoft Entra 应用程序的 ID |
AZURE_TENANT_ID |
应用程序的 Microsoft Entra 租户的 ID |
AZURE_CLIENT_SECRET |
应用程序的一个客户端密钥 |
具有证书的服务主体
变量名 | 值 |
---|---|
AZURE_CLIENT_ID |
Microsoft Entra 应用程序的 ID |
AZURE_TENANT_ID |
应用程序的 Microsoft Entra 租户的 ID |
AZURE_CLIENT_CERTIFICATE_PATH |
到 PFX 或 PEM 编码的证书文件的路径,包括私钥 |
AZURE_CLIENT_CERTIFICATE_PASSWORD |
(可选) 保护证书文件的密码(目前仅支持 PFX (PKCS12) 证书) |
AZURE_CLIENT_SEND_CERTIFICATE_CHAIN |
(可选) 在 x5c 头部发送证书链以支持基于主题名称 / 发行者的身份验证 |
用户名和密码
变量名 | 值 |
---|---|
AZURE_CLIENT_ID |
Microsoft Entra 应用程序的 ID |
AZURE_TENANT_ID |
应用程序的 Microsoft Entra 租户的 ID |
AZURE_USERNAME |
一个用户名(通常是一个电子邮件地址) |
AZURE_PASSWORD |
该用户的密码 |
托管标识身份(DefaultAzureCredential
)
变量名 | 值 |
---|---|
AZURE_CLIENT_ID |
用户分配的托管标识的客户端 ID。如果已定义,用作 DefaultAzureCredentialOptions 中 ManagedIdentityClientId 的默认值。 |
将尝试按上述顺序进行配置。例如,如果客户端密钥和证书的值都存在,则使用客户端密钥。
持续访问评估
从版本 1.10.0 开始,按请求 basis 可以访问由 Continuous Access Evaluation (CAE) 保护的资源。可以通过通过构造函数设置 TokenRequestContext
的 IsCaeEnabled
属性来启用此行为。CAE 不支持开发者和托管标识凭证。
令牌缓存
令牌缓存 是 Azure Identity 库提供的一项功能。该功能允许应用
- 在内存中(默认)或磁盘上(opt-in)缓存令牌。
- 提高弹性和性能。
- 减少放置在 Microsoft Entra ID 以获取访问令牌的请求数量。
Azure Identity 库提供内存和持久磁盘缓存。有关详细信息,请参阅令牌缓存文档。
代理身份验证
身份代理是一个在用户机器上运行的应用程序,用于管理连接账户的身份验证握手和令牌维护。目前仅支持Windows网络账户管理器(WAM)。要启用支持,请使用Azure.Identity.Broker
包。有关使用WAM进行身份验证的详细信息,请参阅代理包文档。
故障排除
请查阅故障排除指南以了解如何诊断各种失败场景的详细信息。
错误处理
认证过程中出现的错误可以在任何调用服务的服务客户端方法的上下文中引发。这是因为首次从凭据请求令牌是在第一次调用服务时,后续的调用可能需要刷新令牌。为了区分这些失败与客户端Azure身份类中的服务客户端失败,将异常AuthenticationFailedException
(包含异常消息中有关错误来源的详细信息和可能的错误消息)抛出。根据应用程序,这些错误可能或可能不可恢复。
using Azure.Identity;
using Azure.Security.KeyVault.Secrets;
// Create a secret client using the DefaultAzureCredential
var client = new SecretClient(new Uri("https://myvault.vault.azure.net/"), new DefaultAzureCredential());
try
{
KeyVaultSecret secret = await client.GetSecretAsync("secret1");
}
catch (AuthenticationFailedException e)
{
Console.WriteLine($"Authentication Failed. {e.Message}");
}
有关处理对Microsoft Entra ID或托管标识端点失败的请求引起的错误的更多信息,请参阅Microsoft Entra ID授权错误代码文档。
日志记录
Azure身份库提供了与其他Azure SDK类似的所有日志记录功能。
要查看日志以帮助调试认证问题,最简单的方法是启用控制台日志记录。
// Setup a listener to monitor logged events.
using AzureEventSourceListener listener = AzureEventSourceListener.CreateConsoleLogger();
所有凭据都可以配置诊断选项,就像SDK中的其他客户端一样。
警告:Azure身份库中的请求和响应包含敏感信息。在自定义输出时,必须采取措施保护日志,避免泄露账户安全。
DefaultAzureCredentialOptions options = new DefaultAzureCredentialOptions
{
Diagnostics =
{
LoggedHeaderNames = { "x-ms-request-id" },
LoggedQueryParameters = { "api-version" },
IsLoggingContentEnabled = true
}
};
在调试认证问题时,您还可以启用敏感信息的日志记录。要启用此类日志记录,将属性IsLoggingContentEnabled
设置为true
。要仅记录用于尝试认证和授权的账户的详细信息,将IsAccountIdentifierLoggingEnabled
设置为true
。
DefaultAzureCredentialOptions options = new DefaultAzureCredentialOptions
{
Diagnostics =
{
LoggedHeaderNames = { "x-ms-request-id" },
LoggedQueryParameters = { "api-version" },
IsAccountIdentifierLoggingEnabled = true
}
};
线程安全
我们保证所有凭据实例方法都是线程安全的,并且互不干扰(《线程安全指南》)(线程安全指南))。这确保了重新使用凭据实例的建议总是安全的,即使在跨线程的情况下也是如此。
附加概念
客户端选项 | 访问响应 | 诊断 | 模拟 | 客户端寿命
下一步操作
支持与Azure Identity进行认证的客户端库
列出的许多客户端库在此处支持使用TokenCredential
和Azure身份库进行认证。您还可以在那里找到学习更多关于它们的使用方法的信息,包括额外的文档和示例。
已知问题
此库目前不支持与Azure AD B2C服务的相关场景。
有关 Azure.Identity
库的开放问题请见此处。
贡献
此项目欢迎贡献和建议。大多数贡献都需要您同意贡献者许可协议(CLA),声明您有权,并且实际上确实对我们的贡献享有使用权。有关详细信息,请访问https://cla.microsoft.com。
在提交拉取请求时,CLA-bot将自动确定您是否需要提供CLA,并以适当的方式装饰PR(例如,标签,注释)。只需遵循机器人提供的说明。您只需在所有使用我们的CLA的仓库中进行一次操作。
本项目已采用Microsoft开源准则。有关更多信息,请参阅准则FAQ或通过[email protected]联系以提出任何额外的问题或评论。
产品 | 版本 兼容以及额外的计算目标框架版本。 |
---|---|
.NET | net5.0已计算。 net5.0-windows已计算。 net6.0已计算。 net6.0-android已计算。 net6.0-ios已计算。 net6.0-maccatalyst已计算。 net6.0-macos已计算。 net6.0-tvos已计算。 net6.0-windows已计算。 net7.0已计算。 net7.0-android已计算。 net7.0-ios已计算。 net7.0-maccatalyst已计算。 net7.0-macos已计算。 net7.0-tvos已计算。 net7.0-windows已计算。 net8.0已计算。 net8.0-android已计算。 net8.0-browser已计算。 net8.0-ios已计算。 net8.0-maccatalyst已计算。 net8.0-macos已计算。 net8.0-tvos已计算。 net8.0-windows已计算。 |
.NET Core | netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。 |
.NET 标准库 | netstandard2.0 兼容。 netstandard2.1 已计算。 |
.NET 框架 | net461 已计算。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。 |
MonoAndroid | monoandroid 已计算。 |
MonoMac | monomac 已计算。 |
MonoTouch | monotouch 已计算。 |
Tizen | tizen40 已计算。 tizen60 已计算。 |
Xamarin.iOS | xamarinios 已计算。 |
Xamarin.Mac | xamarinmac 已计算。 |
Xamarin.TVOS | xamarintvos 已计算。 |
Xamarin.WatchOS | xamarinwatchos 已计算。 |
-
.NETStandard 2.0
- Azure.Core (>= 1.40.0)
- Microsoft.Identity.Client (>= 4.61.3)
- Microsoft.Identity.Client.Extensions.Msal (>= 4.61.3)
- System.Memory (>= 4.5.4)
- System.Security.Cryptography.ProtectedData (>= 4.7.0)
- System.Text.Json (>= 4.7.2)
- System.Threading.Tasks.Extensions (>= 4.5.4)
NuGet 包 (805)
显示依赖于 Azure.Identity 的前 5 个 NuGet 包
包 | 下载 |
---|---|
Microsoft.Data.SqlClient 当前用于SQL Server和Azure SQL数据库的数据提供程序。它已替代System.Data.SqlClient。这些类提供对SQL的访问,并封装数据库特定的协议,包括表数据流(TDS)。常用类型:Microsoft.Data.SqlClient.SqlConnection Microsoft.Data.SqlClient.SqlException Microsoft.Data.SqlClient.SqlParameter Microsoft.Data.SqlClient.SqlDataReader Microsoft.Data.SqlClient.SqlCommand Microsoft.Data.SqlClient.SqlTransaction Microsoft.Data.SqlClient.SqlParameterCollection Microsoft.Data.SqlClient.SqlClientFactory 在使用NuGet 3.x时,此包需要至少3.4版本。 |
|
Microsoft.Extensions.Azure Microsoft.Extensions库与Azure客户端SDK的集成 |
|
Microsoft.Extensions.Caching.SqlServer 使用Microsoft SQL Server实现Microsoft.Extensions.Caching.Distributed.IDistributedCache的分布式缓存。此包从https://github.com/dotnet/aspnetcore/tree/abc2c7226ff616316cd1e05d76e6c36b49ce06a1的源代码构建 |
|
Microsoft.Identity.Web.Certificate 此包为MSAL.NET带来了证书管理。 |
|
WindowsAzure.ServiceBus 请注意,自2020年11月起,对于Azure Service Bus、Azure Event Hubs和Azure Relay,分别有较新的Azure.Messaging.ServiceBus、Azure.Messaging.EventHubs和Microsoft.Azure.Relay包可用。虽然WindowsAzure.ServiceBus将继续接收关键错误修复,但我们强烈建议您升级。有关更多详细信息,请参阅https://aka.ms/azsdk/blog/msging/intro。它将Microsoft.ServiceBus.dll以及相关配置文件添加到您的项目中。此库允许将AMQP 1.0用作与Microsoft Azure Service Bus通信的协议之一。有关消息功能更详细的信息,请访问:http://azure.microsoft.com/en-us/documentation/services/service-bus/ 有关事件中心功能更详细的信息,请访问:http://go.microsoft.com/fwlink/?LinkID=403957 请注意,此包需要至少.NET Framework 4.6.2。 |
GitHub仓库 (144)
显示取决于Azure.Identity的排名前5的GitHub仓库
仓库 | 星标 |
---|---|
microsoft/semantic-kernel
快速轻松地将最新的LLM技术集成到您的应用程序中
|
|
jasontaylordev/CleanArchitecture
ASP.NET Core的Clean Architecture解决方案模板
|
|
bitwarden/server
Bitwarden基础设施/后端(API、数据库、Docker等)。
|
|
dotnet/efcore
EF Core是.NET的现代对象数据库映射器。它支持LINQ查询、更改跟踪、更新和架构迁移。
|
|
dotnet/AspNetCore.Docs
ASP.NET Core的文档
|
版本 | 下载 | 最后更新 | |
---|---|---|---|
1.13.0-beta.1 | 5,967 | 7/24/2024 | |
1.12.0 | 5,127,738 | 6/17/2024 | |
1.12.0-beta.3 | 8,108 | 6/11/2024 | |
1.12.0-beta.2 | 27,817 | 5/7/2024 | |
1.12.0-beta.1 | 12,803 | 4/23/2024 | |
1.11.4 | 6,636,782 | 6/10/2024 | |
1.11.3 | 6,319,165 | 5/7/2024 | |
1.11.2 | 3,838,965 | 4/19/2024 | |
1.11.1 | 3,135,981 | 4/16/2024 | |
1.11.0 | 6,320,715 | 4/9/2024 | |
1.11.0-beta.1 | 50,326 | 2/6/2024 | |
1.10.4 | 33,514,697 | 11/13/2023 | |
1.10.3 | 44,738,293 | 10/18/2023 | |
1.10.2 | 10,831,915 | 10/9/2023 | |
1.10.1 | 2,136,680 | 9/13/2023 | |
1.10.0 | 3,203,362 | 8/15/2023 | |
1.10.0-beta.1 | 16,130 | 7/17/2023 | |
1.9.0 | 15,361,406 | 5/11/2023 | |
1.9.0-beta.3 | 43,894 | 4/12/2023 | |
1.9.0-beta.2 | 116,320 | 2/22/2023 | |
1.9.0-beta.1 | 301,975 | 10/13/2022 | |
1.8.2 | 17,177,702 | 2/8/2023 | |
1.8.1 | 3,909,818 | 1/13/2023 | |
1.8.0 | 11,886,984 | 11/9/2022 | |
1.8.0-beta.1 | 5,488 | 10/13/2022 | |
1.7.0 | 71,471,757 | 9/19/2022 | |
1.7.0-beta.1 | 69,683 | 8/10/2022 | |
1.6.1 | 6,928,476 | 8/8/2022 | |
1.6.0 | 80,306,111 | 4/5/2022 | |
1.6.0-beta.1 | 54,569 | 2/11/2022 | |
1.5.0 | 35,174,786 | 10/14/2021 | |
1.5.0-beta.4 | 55,815 | 9/8/2021 | |
1.5.0-beta.3 | 150,858 | 8/11/2021 | |
1.5.0-beta.2 | 36,456 | 7/12/2021 | |
1.5.0-beta.1 | 27,152 | 6/8/2021 | |
1.4.1 | 9,042,953 | 8/5/2021 | |
1.4.0 | 42,167,605 | 5/12/2021 | |
1.4.0-beta.5 | 148,409 | 4/6/2021 | |
1.4.0-beta.4 | 35,597 | 3/9/2021 | |
1.4.0-beta.3 | 134,260 | 2/10/2021 | |
1.4.0-beta.2 | 22,661 | 1/30/2021 | |
1.4.0-beta.1 | 126,016 | 10/16/2020 | |
1.3.0 | 125,484,316 | 11/13/2020 | |
1.3.0-beta.2 | 3,441 | 10/8/2020 | |
1.3.0-beta.1 | 40,668 | 9/11/2020 | |
1.2.3 | 10,729,629 | 9/11/2020 | |
1.2.2 | 1,283,312 | 8/20/2020 | |
1.2.1 | 829,220 | 8/18/2020 | |
1.2.0-preview.6 | 19,090 | 7/23/2020 | |
1.2.0-preview.5 | 16,544 | 7/8/2020 | |
1.2.0-preview.4 | 70,539 | 6/10/2020 | |
1.2.0-preview.3 | 124,399 | 5/5/2020 | |
1.2.0-preview.2 | 46,261 | 4/6/2020 | |
1.2.0-preview.1 | 71,963 | 3/10/2020 | |
1.1.1 | 12,439,213 | 2/11/2020 | |
1.1.0 | 867,017 | 11/25/2019 | |
1.0.0 | 2,949,197 | 10/30/2019 | |
1.0.0-preview.5 | 10,746 | 10/7/2019 | |
1.0.0-preview.4 | 3,541 | 9/10/2019 | |
1.0.0-preview.3 | 5,424 | 8/6/2019 | |
1.0.0-preview.2 | 3,402 | 7/2/2019 | |
1.0.0-preview.1 | 937 | 6/28/2019 |