Azure DevOps会不断建立pipline,从而在每个软件包上不断产生版本冲突

时间:2019-04-27 14:16:46

标签: asp.net-core azure-devops

我有一个简单的.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 的版本冲突。直接从项目中引用该软件包即可解决此问题

..等等等等...

因此安装这些错误的软件包不太可能是正确的方法,因此我也尝试过:

  1. 更改我的主.csproj文件以使用<PackageReference Include="Microsoft.AspNetCore.App" Version="2.2.0" />,但这只是给出了上述相同的错误(不同的错误),根据Nate here,我们不应该这样包括显式版本。

  2. 在安装所有这些软件包之后,有一点似乎挂在了<PackageReference Include="Microsoft.AspNetCore.Authentication.AzureAD.UI" Version="2.2.0" />参考上,因此在一位同事的指导下,我将该版本更改为2.1.0,但再次没有解决方法;只是更多的红色鲱鱼。

我已经为此奋斗了四天,而我完全迷失了解决方法。任何指导将不胜感激。

更新:

最初,我通过遵循DevOps自身中的“向导”步骤来建立我的DevOps构建管道。我选择了我的仓库,它自动选择了我的主分支,包括设置yaml文件。我将构建作为向导的最后一步来运行,这就是我的问题开始的地方。

我认为我会采取不同的方法进行故障排除,首先设置Azure资源组,然后设置应用程序服务,相关的PaaS服务,最后配置“部署选项”部分。我按照那里的步骤选择了Azure DevOps作为我的构建/部署管道,选择了我的组织,存储库,然后单击“完成”。它可以毫无问题地建立并部署。

我将在此处留下此帖子以寻求建议,并希望对为什么它不起作用有一个明确的答案。我觉得我第一个方法的错误是红鲱鱼……

0 个答案:

没有答案