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

Visual Studio构建Azure Function报错:找不到WorkerExtensions.csproj

解决Azure Functions构建时MSB3202错误的方案
  • 清理缓存后重新构建

    1. 删除项目根目录下的obj和bin文件夹,这些缓存目录的异常文件可能引发路径问题
    2. 在Visual Studio里右键项目,依次选清理→生成
    3. 也可以用命令行操作:执行dotnet clean完成清理,再运行dotnet build重新构建
  • 手动创建缺失的WorkerExtensions.csproj
    如果清理后还是找不到目标文件,按以下步骤手动生成:

    1. 按照错误提示的路径创建文件夹:D:\mycompany\myFunction\obj\Debug\net8.0\WorkerExtensions\
    2. 在该文件夹下新建WorkerExtensions.csproj文件,内容参考下方模板(根据你的.NET版本调整TargetFramework):
    <Project Sdk="Microsoft.NET.Sdk">
      <PropertyGroup>
        <TargetFramework>net8.0</TargetFramework>
        <ImplicitUsings>enable</ImplicitUsings>
        <Nullable>enable</Nullable>
      </PropertyGroup>
      <ItemGroup>
        <PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.20.1" />
        <PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="2.0.4" />
      </ItemGroup>
    </Project>
    
  • 检查NuGet包版本兼容性
    确保Microsoft.Azure.Functions.Worker和Microsoft.Azure.Functions.Worker.Sdk版本匹配,避免版本不兼容导致的生成异常。当前你用的Sdk版本是2.0.4,对应Worker版本建议用1.20.1;如果问题依旧,可尝试升级到最新稳定匹配版本,比如Worker 1.21.0搭配Sdk 2.1.0。

  • 临时修改MSBuild目标文件
    找到错误提示中的Microsoft.Azure.Functions.Worker.Sdk.targets文件(路径:C:\mypc\mydirectory\.nuget\packages\microsoft.azure.functions.worker.sdk\2.0.4\build\),打开后给_WorkerExtensionsRestore目标添加存在性判断,避免找不到文件时执行任务:

    <Target Name="_WorkerExtensionsRestore" DependsOnTargets="_FunctionsPreBuild;_GetRestoreSettings">
      <MSBuild Projects="$(ExtensionsCsProj)" Targets="Restore" RemoveProperties="$(_FunctionsExtensionRemoveProps)" Properties="IsRestoring=true;RestoreSources=$(_OutputSources);$(_FunctionsExtensionCommonProps)" Condition="Exists('$(ExtensionsCsProj)')" />
    </Target>
    

    注意:这是临时方案,后续更新NuGet包时修改会被覆盖,优先使用前面的方法。

内容的提问来源于stack exchange,提问作者Age of Empires

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 21:42:47