我有一个简单的.NET Core 2.2网站以及作为.NET Core程序集添加的Microsoft.Identity.Web。以下.csproj
文件构成了我的解决方案:
主要项目:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<WebProject_DirectoryAccessLevelKey>1</WebProject_DirectoryAccessLevelKey>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
<PackageReference Include="Microsoft.Graph" Version="1.14.0" />
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.7.2" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.2.3" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
<PackageReference Include="WindowsAzure.Storage" Version="9.3.3" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Microsoft.Identity.Web\Microsoft.Identity.Web.csproj" />
</ItemGroup>
<ItemGroup>
<WCFMetadata Include="Connected Services" />
</ItemGroup>
</Project>
Microsoft.Identity.Web项目:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.AzureAD.UI" Version="2.2.0" />
<PackageReference Include="Microsoft.Identity.Client" Version="3.0.6-preview" />
</ItemGroup>
</Project>
注意::我可以在本地构建解决方案而不会出现问题,并且从来没有遇到过构建或运行该问题的问题。
我创建了一个新的Azure DevOps管道,并将其指向我的Github存储库。在NuGetCommand
过程中,它无法告诉我:
[错误] nuget命令失败,并显示退出代码(1)和错误(NU1607:为 Microsoft.AspNetCore.Antiforgery 检测到版本冲突。直接从项目中引用该软件包即可解决此问题。
基于此,我认为我需要直接安装该软件包,因此我去了NuGet软件包管理器,搜索并安装了该软件包。然后我得到另一个错误:
[错误] nuget命令失败,出现退出代码(1)和错误(NU1607:检测到 Microsoft.AspNetCore.Authentication.Cookies 的版本冲突。直接从项目中引用该软件包即可解决此问题问题。
尝试安装该程序包,但出现另一个错误:
[错误] nuget命令失败,出现退出代码(1)和错误(NU1607:检测到 Microsoft.AspNetCore.Authorization.Policy 的版本冲突。直接从项目中引用该软件包即可解决此问题
..等等等等...
因此安装这些错误的软件包不太可能是正确的方法,因此我也尝试过:
更改我的主.csproj
文件以使用<PackageReference Include="Microsoft.AspNetCore.App" Version="2.2.0" />
,但这只是给出了上述相同的错误(不同的错误),根据Nate here,我们不应该这样包括显式版本。
在安装所有这些软件包之后,有一点似乎挂在了<PackageReference Include="Microsoft.AspNetCore.Authentication.AzureAD.UI" Version="2.2.0" />
参考上,因此在一位同事的指导下,我将该版本更改为2.1.0
,但再次没有解决方法;只是更多的红色鲱鱼。
我已经为此奋斗了四天,而我完全迷失了解决方法。任何指导将不胜感激。
最初,我通过遵循DevOps自身中的“向导”步骤来建立我的DevOps构建管道。我选择了我的仓库,它自动选择了我的主分支,包括设置yaml文件。我将构建作为向导的最后一步来运行,这就是我的问题开始的地方。
我认为我会采取不同的方法进行故障排除,首先设置Azure资源组,然后设置应用程序服务,相关的PaaS服务,最后配置“部署选项”部分。我按照那里的步骤选择了Azure DevOps作为我的构建/部署管道,选择了我的组织,存储库,然后单击“完成”。它可以毫无问题地建立并部署。
我将在此处留下此帖子以寻求建议,并希望对为什么它不起作用有一个明确的答案。我觉得我第一个方法的错误是红鲱鱼……