【问题标题】:Upgrading Azure functions project in Visual Studio在 Visual Studio 中升级 Azure 函数项目
【发布时间】:2018-10-09 04:53:34
【问题描述】:

所以 Azure Functions v2 已经发布,如果我在 azure 中创建一个新函数并将其设置为 V2,但随后我在 Visual Studio 中发布我的旧函数项目,它会将其转回 V1。

我看看我是否在 Visual Studio 中创建了一个新的函数项目,它会询问我是想要 V1 还是 V2。无论如何升级现有项目,还是我必须创建一个新项目? (如果我必须创建一个新的并复制苍蝇,这不是世界末日,但它会很好)

【问题讨论】:

  • 在 appsettings 刀片中,将 FUNCTIONS_EXTENSION_VERSION 更改为目标 ~2
  • 下面的答案很好,只是更改应用设置不起作用

标签: visual-studio azure azure-functions


【解决方案1】:

Azure Function 2.x 运行时基于 .NET Core 2,并且需要针对 .NET Standard 的函数代码。您的旧函数是 v1,这意味着它们的目标框架是完整的 .NET Framework。即使您在门户上将 Function 运行时版本设置为 ~2,Azure 也可以判断代码实际上是用于运行时 ~1。

我建议您创建一个模板 v2 函数并将旧内容与新 v2 模板进行比较。

  1. 依赖关系

    对于 v2,我们需要为触发器和绑定安装扩展,除了 http 和 timer。当我们在VS中创建函数项目或添加单个函数(右键项目>添加>新建Azure函数)时,会自动安装相应扩展的包,我们只需要在使用输入/输出绑定时手动安装packages for v2

  2. 功能代码

    由于目标框架的不同,通常需要修改代码(比如日志类型从TraceWriter更改为ILogger)。

  3. 配置

    检查host.json是否有与扩展和日志相关的settings,其格式已更改。

除了这些需要我们手动做的改动外,还有很多feature changes在迁移到2.x运行时需要注意。

【讨论】:

  • 谢谢,那我就将文件复制到一个新项目中。会更安全
猜你喜欢
  • 2018-01-10
  • 2017-06-19
  • 1970-01-01
  • 2018-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-02
相关资源
最近更新 更多