You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Visual Studio 2017中使用目标框架为.NET Core的Azure Functions?

解决VS2017中Azure Functions无法切换到.NET Core 2.0的问题

我来帮你梳理一下可行的解决方案,毕竟VS2017对Azure Functions的.NET Core支持有特定的配置和工具要求,直接改项目文件很容易踩坑:

一、先确认VS2017的基础配置是否达标

.NET Core 2.0对应的Azure Functions Runtime是v2.x,VS2017要支持这个版本,得先满足两个前提:

  • 你的VS2017至少是**Update 3(版本号15.3)**及以上,最好更新到最新的15.9.x版本(后续更新修复了大量.NET Core相关的兼容问题)。
  • 必须安装了Azure开发工作负载:打开VS2017安装程序,检查左侧工作负载列表里的「Azure开发」是否已勾选,未勾选的话选中后点击「修改」完成安装。

二、更新Azure Functions工具扩展

VS2017里的Azure Functions工具是独立扩展,要支持v2.x Runtime(对应.NET Core),必须确保扩展是最新版本:

  1. 打开VS2017,点击顶部菜单的工具 > 扩展和更新。
  2. 在左侧面板选择更新 > Visual Studio Marketplace,找到「Azure Functions and Web Jobs Tools」。
  3. 如果有可用更新,点击「更新」,安装完成后重启VS。

三、优先新建项目而非修改现有.NET Framework项目

直接把net461项目改成.NET Core容易残留旧配置导致不生效,更稳妥的方式是新建符合要求的项目:

  1. 点击文件 > 新建 > 项目,搜索「Azure Functions」模板并选中。
  2. 在配置窗口里,确保Azure Functions v2 (.NET Core)被选中,然后在「目标框架」下拉菜单中选择.NET Core 2.0(如果看不到这个选项,说明前面的工具没安装到位)。
  3. 完成创建后,就能正常基于.NET Core 2.0开发Azure Functions了。

如果一定要修改现有项目,按以下步骤操作:

  1. 右键项目,选择编辑.csproj(直接编辑项目文件)。
  2. 找到<TargetFramework>net461</TargetFramework>,替换为<TargetFramework>netcoreapp2.0</TargetFramework>。
  3. 添加或修改Azure Functions版本配置,确保是v2:
    <AzureFunctionsVersion>v2</AzureFunctionsVersion>
    
  4. 将Microsoft.NET.Sdk.Functions的NuGet包版本更新到支持netcoreapp2.0的版本(比如v1.0.31或更高),同时移除所有仅支持.NET Framework的NuGet包(部分System.*旧版本包)。
  5. 保存.csproj文件,右键项目选择还原NuGet包,然后执行清理解决方案再重建解决方案。

四、检查本地Azure Functions Core Tools版本

本地运行Azure Functions依赖Core Tools,v1版本对应.NET Framework,v2版本对应.NET Core:

  1. 打开命令提示符或PowerShell,运行func --version。
  2. 如果输出是2.x开头的版本,说明没问题;如果是1.x,需要安装v2版本的Core Tools(可通过VS2017扩展更新同步安装)。

常见坑点提醒

  • 部分第三方NuGet包可能不兼容.NET Core 2.0,重建项目时若出现编译错误,优先排查这些包并替换为兼容版本。
  • 若VS2017版本过旧,即使安装工具也看不到.NET Core 2.0选项,务必先将VS更新到最新可用版本。

内容的提问来源于stack exchange,提问作者Harsha Bandaru

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:00:23