在Visual Studio 2017中使用Azure功能定位.NET Core 2.0

NOP*_*MOV 23 azure azure-functions

由于Microsoft几天前发布了针对Azure Functions的.NET Core 2.0,我试图了解如何在面向.NET Core的VS2017中创建一个新的Functions项目.

我已经尝试了很多配置,但最终仍然使用.NET 4.7.

有没有人设法创建一个针对.NET Core的新功能?

谢谢.

Fab*_*nte 14

Microsoft.NET.Sdk.Functions包的1.0.5版本支持此功能.

在Azure Functions项目中,执行以下操作:

  • Microsoft.NET.Sdk.Functions软件包版本更新为1.0.5
  • 右键单击您的项目,单击该Edit <projectname>.csproj选项并将TargetFramework元素值修改为netstandard2.0

这将生成.NET Standard 2.0程序集,其中包含Azure Functions工具创建的所有工件.


ubi*_*bie 14

截至今天,我已经能够以"合理"直观的方式定位.Net Standard 2.0,而无需编辑任何.csproj文件.

您需要一个合理的Visual Studio版本.我正在使用Visual Studio Professional 15.5.3(虽然我猜这个社区会起作用).

您需要安装Azure开发工作负载.这将安装名为Azure Functions和Web Jobs Tools的扩展.

到目前为止如此普通的香草.有两个额外的位对我来说根本不直观,但最终很容易做到 - 当你知道如何时很容易!

  1. 您需要确保Azure功能和Web作业工具是15.0.31114.0或更高版本 - 就在他们添加.net core 2.0支持时(请参阅https://github.com/Azure/Azure-Functions/blob/master/VS -AzureTools-ReleaseNotes.md).您可以使用工具/扩展和更新来更新它,或参阅https://marketplace.visualstudio.com/items?itemName=VisualStudioWebandAzureTools.AzureFunctionsandWebJobsTools

  2. 即使你已经这样做了,Visual Studio也很奇怪让你创建以.net 2.0为目标的Azure功能.当你进入文件/新项目时,可用项目类型列表中没有任何变化,如果选择Azure功能,框架列表只显示.NET Framework*,没有.NET标准,没有.NET Core.
    在此输入图像描述

但是,如果此时您坚持并选择Azure Functions,那么您将获得一个我以前从未见过的新对话框,它允许您选择Azure Functions v2 Preview(.NET Core).Azure Functions v2 Preview(.NET Core)

现在,当我查看项目属性时,它发现它的目标是.NET Standard 2.0,而后者似乎包含Microsfot.NETCore.Platforms(1.1.0).这个.net核心2.0是否也是如此?不太确定,但它"足以满足我的目的,所以现在要进行一些编码.

干杯!

在此输入图像描述

  • 它不起作用.当我尝试将.net核心2项目引用到我的Azure功能时出现错误:错误项目'X'目标'netcoreapp2.0'.它不能被针对'.NETStandard,Version = v2.0'的项目引用. (3认同)

Mik*_*kov 5

目前,这是一个手动过程.您需要创建.NET Standard 2.0库,function.json手动添加并使用核心工具运行它.

Microsoft.NET.Sdk.Functions软件包尚不支持.NET Standard 2.0类库.这是将项目标识为函数项目到Visual Studio并在构建期间从属性生成function.json的包.

您仍然可以创建面向.NET Standard 2.0的C#类库,但您必须使用手动创作的function.json.Core Tools中尚未提供C#类库的模板,但您可以从GitHub获取示例.

来自任何平台上的开发Azure功能

更新:如Fabio所述,1.0.5版本的SDK现在应该支持它.