尝试升级Azure功能项目时,我们收到此错误。这是我们得到的日志文件
恢复包
C:\Users\User\Source\Repos\xxx_FileService\xxx.AzureFunctions\xxx.AzureFunctions\SE.AzureFunctions.csproj...
Detected package version outside of dependency constraint: Microsoft.NET.Sdk.Functions 1.0.7 requires Newtonsoft.Json (= 9.0.1) but version Newtonsoft.Json 10.0.3 was resolved.
Detected package downgrade: Microsoft.Azure.WebJobs from 2.1.0-beta4 to 2.1.0-beta1. Reference the package directly from the project to select a different version.
xxx.AzureFunctions -> Microsoft.NET.Sdk.Functions 1.0.7 -> Microsoft.Azure.WebJobs (= 2.1.0-beta4)
xxx.AzureFunctions -> Microsoft.Azure.WebJobs (>= 2.1.0-beta1)
Detected package downgrade: Microsoft.Azure.WebJobs.Extensions from 2.1.0-beta4 to 2.1.0-beta1. Reference the package directly from the project to select a different version.
xxx.AzureFunctions -> Microsoft.NET.Sdk.Functions 1.0.7 -> Microsoft.Azure.WebJobs.Extensions (= 2.1.0-beta4)
xxx.AzureFunctions -> Microsoft.Azure.WebJobs.Extensions (>= 2.1.0-beta1)
Detected package downgrade: Microsoft.Azure.WebJobs.Extensions.Http from 1.0.0-beta4 to 1.0.0-beta1. Reference the package directly from the project to select a different version.
xxx.AzureFunctions -> Microsoft.NET.Sdk.Functions 1.0.7 -> Microsoft.Azure.WebJobs.Extensions.Http (= 1.0.0-beta4)
xxx.AzureFunctions -> Microsoft.Azure.WebJobs.Extensions.Http (>= 1.0.0-beta1)
Package restore failed. Rolling back package changes for 'SE.AzureFunctions'.
Time Elapsed: 00:00:00.3832626
========== Finished =========
CSPROJ中的软件包参考
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup>
<TargetFramework>net461</TargetFramework>
<AssemblyName>SE.AzureFunctions</AssemblyName>
<RootNamespace>SE.AzureFunctions</RootNamespace> </PropertyGroup> <ItemGroup>
<PackageReference Include="Microsoft.Azure.WebJobs" Version="2.1.0-beta1" />
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions" Version="2.1.0-beta1" />
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Http" Version="1.0.0-beta1" />
<PackageReference Include="Microsoft.Azure.WebJobs.ServiceBus" Version="2.1.0-beta1" />
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.0-alpha6" />
<PackageReference Include="Newtonsoft.Json" Version="10.0.2" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.0-beta004" /> </ItemGroup> <ItemGroup>
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Configuration" /> </ItemGroup> <ItemGroup>
<None Update="host.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None> </ItemGroup> </Project>
我将尽力为您提供您遇到挑战的背景,并为您提供解决方案。
您遇到此错误的原因有两个:
2.1.0-beta4
到2.1.0-beta1
的Microsoft.Azure.WebJobs
湾Microsoft.Azure.WebJobs.Extensions.Http从1.0.0-beta4到1.0.0-beta1
.NET Core 2.0.0 Preview 2
- 降级警告已经成为错误。这意味着它们被配置为将警告NU1605
视为错误。这不是在他们的release notes中公开的,但如果你查看任何项目的属性页面,这些项目是模板化的.Net Core 2.0.0 Preview 2(就像我怀疑你的项目一样),你会注意到在Build
项目属性下表格,警告NU1605
现在被视为错误(请参阅将警告视为错误部分)。现在让我们在其中添加一个引脚,因为我们需要深入到下面提出的解决方案中的项目属性页面。是的,您已经猜到了,您需要将项目配置为不将NU1605
警告视为错误。为此,请按照下列步骤操作:
Build
属性表Treat Warnings as errors
部分,并从Specific Warnings
无线电盒部分清除NU1605值。 (见下面的屏幕抓取)我确信微软有理由将强制降级警告NU1605
作为一个错误,所以不要将这个警告的禁止作为一种错误作为对这种策略的全面认可;相反,我们将此建议视为解决我们在选择使用预发布或测试版代码时必然会遇到的问题。
我希望是最终的候选版本,这些类型的依赖性问题中的大多数都已经解决,并且这些工作不会是必要的,但同时,为了保持你的alpha / beta /实验开发向前发展,这个工作应该做。
希望这有助于你和快乐的编码(哦,是的,新年快乐!)