尝试升级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 =========
CS.PROJ中的包参考
<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>
答案 0 :(得分:2)
我将尽力为您提供您遇到挑战的背景,并为您提供解决方案。
您遇到此错误的原因有两个:
微软降级了以下软件包(因为我确定您收到的错误消息可能已经让您了解到):
一个。 Microsoft.Azure.WebJobs从2.1.0-beta4
到 2.1.0-beta1
湾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值。 (见下面的屏幕抓取)我确信Microsoft有理由强制执行降级警告 NU1605
作为错误,因此请不要将此警告作为一条错误禁用此警告支持这种策略;相反,当我们选择使用预发布或测试版代码时,我们会将此建议视为解决我们必然会遇到的问题。
我的希望是最终的候选版本,这些类型的依赖性问题中的大多数都已经解决了,并且这些工作不会是必要的,但同时也要保持你的alpha / beta /实验开发向前迈进,这项工作应该做到。
希望这有助于你和快乐的编码(哦,是的,新年快乐!)