小编nea*_*lsu的帖子

.NET Core 3.1 应用程序不再构建在 Azure 管道上 (.NET 5)

直到最近,我们的 .Net Core 3.1 应用程序还在 Azure 管道上构建和发布良好。但是在过去的几天里,构建管道开始失败并出现错误:

##[error]C:\Program Files\dotnet\sdk\5.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(241,5): 
Error NETSDK1005: Assets file 'D:\a\1\s\ProjectFolder\src\Project\obj\project.assets.json' doesn't have a target for 'netcoreapp3.1'. 
Ensure that restore has run and that you have included 'netcoreapp3.1' in the TargetFrameworks for your project.
Run Code Online (Sandbox Code Playgroud)
(ResolvePackageAssets target) -> 
  C:\Program Files\dotnet\sdk\5.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(241,5): 
error NETSDK1005: Assets file 'D:\a\1\s\ProjectFolder\src\Project\obj\project.assets.json' doesn't have a target for 'netcoreapp3.1'. 
Ensure that restore has run and that you have included 'netcoreapp3.1' in the TargetFrameworks for your project. [D:\a\1\s\ProjectFolder\src\Project\Project.csproj]
Run Code Online (Sandbox Code Playgroud)

对于失败的解决方案构建步骤,构建管道设置如下。

构建配置 - 使用最新版本,但设置为 VS 2019 也失败。

任何想法如何以最少的更改解决此问题?

.net-core azure-devops azure-pipelines .net-5 .net-core-3.1

13
推荐指数
1
解决办法
2306
查看次数

使用 Azure.Security.KeyVault 通过 SecretId / SecretIdentifier 而不是 Microsoft.Azure.KeyVault 检索证书(PFXcontent)

只是想知道如何使用新Azure.Security.KeyVault库实现相同的目标:

  1. Azure.Security.KeyVault.Certificates

https://docs.microsoft.com/en-us/dotnet/api/overview/azure/security.keyvault.certificates-readme?view=azure-dotnet

  1. Azure.Security.KeyVault.Secrets

https://docs.microsoft.com/en-us/dotnet/api/overview/azure/security.keyvault.secrets-readme?view=azure-dotnet#retrieve-a-secret

特别是关于从证书 SecretId 获取 PFX 内容。新库似乎没有提供通过 SecretId 或 SecretIdentifier 获取 Secret 的方法,只能通过名称。

为了匹配以前这样做的事情:

var azureServiceTokenProvider = new AzureServiceTokenProvider();

var keyVaultClient = new KeyVaultClient(
                new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));

CertificateBundle certificateBundle = await keyVaultClient.GetCertificateAsync(certificateIdentifier);

SecretBundle certificateWithPrivateKey = await keyVaultClient.GetSecretAsync(certificateBundle.SecretIdentifier.Identifier);

byte[] certificateWithPrivateKeyDecoded = Convert.FromBase64String(certificateWithPrivateKey.Value);

var certificate = new X509Certificate2(certificateWithPrivateKeyDecoded, (string)null);

return certificate;
Run Code Online (Sandbox Code Playgroud)

c# azure azure-keyvault

3
推荐指数
1
解决办法
656
查看次数

无法将新用户添加到 Azure SQL 数据库

尝试将新的 SQL Server 身份验证用户添加到 Azure SQL 数据库实例。正在使用下面的脚本。我以服务器管理员身份登录。

但该脚本在成员角色分配时失败。登录名和用户已创建,但我无法登录数据库服务器。

脚本:

use [master]

CREATE LOGIN test WITH password='somethingsecure';
GO

CREATE USER test FROM LOGIN test;
GO

EXEC sp_addrolemember 'db_datareader', 'test';

EXEC sp_addrolemember 'db_datawriter', 'test';
Run Code Online (Sandbox Code Playgroud)

但是上面的脚本失败并出现以下错误:

消息 15151,级别 16,状态 1,第 6 行 无法更改角色“db_datareader”,因为它不存在或您没有权限。

消息 15151,级别 16,状态 1,第 6 行 无法更改角色“db_datawriter”,因为它不存在或您没有权限。

t-sql sql-server azure-sql-database

3
推荐指数
1
解决办法
2495
查看次数