Azure Function 1.x和VS17的Nuget问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Azure Function 1.x和VS17的Nuget问题相关的知识,希望对你有一定的参考价值。
我的项目遇到一些问题,我不知道它到底出了什么问题,但是现在我的Azure Function 1.x项目无法构建。再次构建它至关重要:-/。
这是一个带有Microsoft.NET.Sdk.Functions 1.0.35(在2.x之前的最新版本)的.NET Framework 4.6.2项目。
我有一些用法似乎无法找到,并且函数本身有此错误:
Error CS0246 The type or namespace name 'FunctionNameAttribute' could not be found (are you missing a using directive or an assembly reference?)
因此,我的[FunctionName]带有红色的波浪线,我不明白为什么,应该在Microsoft.NET.Sdk.Functions中?我试图清理并重建项目。
我已尝试通过命令Update-Package -reinstall -Project MyVeryCriticalProject
重新安装我的软件包
PM> Update-Package -reinstall -Project MyVeryCriticalProject
No package updates are available from the current package source for project 'MyVeryCriticalProject'.
Executing nuget actions took 0 ms
Time Elapsed: 00:00:10.4211309
它还抱怨缺少名称空间:
但是我的csproj文件已包含这些文件,因为我已将它们安装在nuget中:
<ItemGroup>
<PackageReference Include="Microsoft.Azure.WebJobs" Version="2.3.0" />
<PackageReference Include="Microsoft.Azure.WebJobs.Core" Version="2.3.0" />
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions" Version="2.2.0" />
<PackageReference Include="Microsoft.Azure.WebJobs.ServiceBus" Version="2.2.0" />
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.35" />
我已经安装了VS2019,并且打算将该项目移至Azure Functions 3.x和.NET Core,但是现在我需要使用它来编译:-/有什么线索吗?
编辑:使用VS17,我只是一个新的Function 1.x项目,从一开始就缺少它的东西:
我已经安装了.NET Framework 4.6.2,然后重新安装了它。
仅安装Microsoft.NET.Sdk.Functions程序包就足够了。从您的错误消息中,问题出在Microsoft.NET.Sdk.Functions程序包。软件包的构建似乎已失败。请确保您使用的是最新版本的nuget软件包管理工具。
[Azure Function 1.x和VS17的Nuget问题
我认为您的VS2017环境中有些问题。
而且在我这边,当我用Azure Function v1
创建Azure Function项目时,它运行良好,没有任何构建错误。所以我建议您可以尝试以下建议:
Note:Update-Package -reinstall -Project MyVeryCriticalProject
不支持PackageReference nuget格式。
[1)确保VS2017已使用这些选项工具(在右侧)安装了Azure开发工作负载。
[2)更改您的itemgroup xml节点,并保留唯一的nuget包Microsoft.NET.Sdk.Functions
,并删除其他与Microsoft.NET.Sdk.Functions
相关的包。像这样:
<ItemGroup>
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.35" />
</ItemGroup>
然后尝试在Nuget软件包管理UI下卸载Microsoft.NET.Sdk.Functions
nuget软件包,然后重新安装。
[3)然后通过右键单击您的解决方案来单击Restore Nuget Packages
4)禁用Tools
-> Updates and Extensions
下的任何第三方扩展,以防某些扩展引起此行为。在您的代码编辑器中,我发现您使用了一些扩展程序,例如Resharper。
5]关闭VS实例,删除.vs
隐藏文件夹(与xxx.sln
位于同一目录中的隐藏文件夹),bin
和obj
文件夹,然后再次重新启动项目。
此外,您可以尝试在VS2017中创建新的Azure函数以测试这是否是您当前项目的问题。
以上是关于Azure Function 1.x和VS17的Nuget问题的主要内容,如果未能解决你的问题,请参考以下文章
Azure Function App VS 2019 .NET 3.0 中的错误 - 找不到方法:'IFunctionsHostBuilder.get_Services()'
C# Azure Function - CosmosDB 触发和解析文档数据