我正在尝试.Net Core 3.0 (preview)在 DevOps 构建管道中构建一个项目。
my 中的步骤一直azure-pipelines.yml执行到 " docker build" 步骤,成功启动了构建过程。Docker 文件被读取并执行到“dotnet build”步骤,之后抛出以下错误。
错误 MSB3024:无法将文件“/src/obj/Release/netcoreapp3.0/”复制到目标文件“/app/”,因为目标是文件夹而不是文件。要将源文件复制到文件夹中,请考虑使用 DestinationFolder 参数而不是 DestinationFiles。[/src/.csproj]
我试图通过执行 dotnet build ".csproj" -c Release -o /app 在本地构建然后构建成功,出现 0 个错误和 0 个警告。这可能与 DevOps 中的 SDK 问题有关吗?
任何建议将不胜感激。
来自我的 Docker 文件的构建命令。
RUN dotnet build "<project>.csproj" -c Release -o /app
Run Code Online (Sandbox Code Playgroud)
--- {OMITED}
---1ff83de4bdba
Step 5/16 : WORKDIR /src
---Running in 972629766fad
Removing intermediate container 972629766fad
---1325ecd8e7c3
Step 6/16 : COPY ["<projectname>.csproj", "<projectname>/"]
---a4ba463683dc
Step 7/16 : RUN …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 services.AddDataProtection() 中的 PersistKeysToDbContext 扩展将密钥持久化到 SQL。目前我们正在使用 PersistKeysToStackExchangeRedis,它工作得非常好,但是确定需要将其移至 DB。
我们正在使用一个 .net Core 2.2 项目,并添加了以下引用:
Microsoft.AspNetCore.DataProtection.EntityFrameworkCore (2.2.0) Microsoft.AspNetCore.DataProtection.Extensions (2.2.0) Microsoft.AspNetCore.DataProtection.StackExchangeRedis (2.2.0) (显然是针对当前功能)
Microsoft.EntityFrameworkCore (2.2.0)
services.AddDataProtection().PersistKeysToDbContext<ApplicationDbContext>();
Run Code Online (Sandbox Code Playgroud)
我从编译器收到以下错误:
“IDataProtectionBuilder”不包含“PersistKeysToDbContext”的定义,并且找不到接受“IDataProtectionBuilder”类型的第一个参数的可访问扩展方法“PersistKeysToDbContext”(您是否缺少 using 指令或程序集引用?)