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

Visual Studio发布ASP.NET至Azure AppService异常缓慢求助

ASP.NET应用发布至Azure AppService速度骤降问题

自昨日起,将ASP.NET应用从Visual Studio发布到Azure AppService时出现异常:发布启动后,AppService已创建必要目录,但文件复制速度极慢,预估全程需4-5小时。而上周及之前发布同一未修改的应用仅需不到30秒。

环境信息

  • AppService计划及AppService部署区域:德国中西部
  • Visual Studio版本:17.4.2

已尝试删除并重建Azure资源,但问题未改善。

项目相关文件

.csproj文件

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <ApplicationIcon />
    <OutputType>Exe</OutputType>
    <StartupObject />
    <Version>2.1.0.0</Version>
  </PropertyGroup>

  <ItemGroup>
    <Content Remove="C:\Users\dev\.nuget\packages\foolproof.core\1.1.10\contentFiles\any\net5.0\Scripts\mvcfoolproof.core.js" />
    <Content Remove="C:\Users\dev\.nuget\packages\foolproof.core\1.1.10\contentFiles\any\net5.0\Scripts\mvcfoolproof.jquery.validation.js" />
    <Content Remove="C:\Users\dev\.nuget\packages\foolproof.core\1.1.10\contentFiles\any\net5.0\Scripts\mvcfoolproof.msajax.validation.js" />
    <Content Remove="C:\Users\dev\.nuget\packages\foolproof.core\1.1.10\contentFiles\any\net5.0\Scripts\mvcfoolproof.unobtrusive.js" />
  </ItemGroup>

  <ItemGroup>
    <None Include="Views\Home\Index.cshtml" />
    <None Include="Views\Home\Privacy.cshtml" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="FoolProof.Core" Version="1.1.10" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="6.0.10" />
    <PackageReference Include="NLog" Version="5.0.1" />
    <PackageReference Include="NLog.Database" Version="5.0.1" />
    <PackageReference Include="NLog.Schema" Version="5.0.1" />
    <PackageReference Include="NLog.Web.AspNetCore" Version="5.0.0" />
    <PackageReference Include="System.Data.SqlClient" Version="4.8.3" />
    <PackageReference Include="System.Management" Version="6.0.0" />
  </ItemGroup>

  <ItemGroup>
    <Folder Include="wwwroot\lib\jqueryui\" />
  </ItemGroup>

  <ItemGroup>
    <Reference Include="LicenseManager">
      <HintPath>bin\LicenseManager.dll</HintPath>
    </Reference>
    <Reference Include="Newtonsoft.Json">
      <HintPath>bin\Newtonsoft.Json.dll</HintPath>
    </Reference>
  </ItemGroup>

</Project>

appsettings.json文件

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*"
}

文件夹结构

我的文件夹结构


解决思路与排查步骤

1. 切换发布方式验证工具问题

放弃Visual Studio内置发布,改用Azure CLI部署:

  • 先本地生成发布包:dotnet publish -c Release
  • 再用CLI上传:
    az webapp deploy --resource-group <你的资源组名> --name <你的AppService名> --src-path ./bin/Release/net6.0/publish --type zip
    
    验证是否是Visual Studio发布工具本身的异常。

2. 调整Visual Studio发布配置

  • 打开发布配置文件(.pubxml),切换增量发布/完整发布模式:如果之前用增量,改成完整发布试试;反之则切换增量。
  • 取消勾选“删除目标上的额外文件”选项,避免发布时遍历删除大量文件导致耗时。

3. 排查网络与Azure资源瓶颈

  • 测试本地到德国中西部Azure区域的网络连通性,用tracert或ping查看延迟和丢包率,必要时换网络环境(比如手机热点)测试。
  • 临时升级AppService计划层级(比如从B1升到B2),排除资源配额不足导致的IO瓶颈,测试后再降级。

4. 清理项目冗余文件

  • 在.csproj中添加配置,排除不必要的文件和目录:
    <PropertyGroup>
      <ExcludeFoldersFromDeployment>bin;obj;Logs</ExcludeFoldersFromDeployment>
      <PublishTrimmed>true</PublishTrimmed> <!-- .NET 6+启用裁剪,减少发布体积 -->
    </PropertyGroup>
    
  • 检查wwwroot目录下的静态资源,启用压缩后再发布。

5. 修复Visual Studio环境

  • 打开Visual Studio Installer,安装Web发布工具的最新补丁。
  • 执行devenv /ResetSettings重置Visual Studio设置,排除配置异常。

6. 查看Azure部署日志

  • 登录Azure门户,进入AppService的“诊断并解决问题”,查看部署相关日志,定位文件复制时的超时或错误环节。
  • 启用AppService的“详细部署日志”,捕获发布过程的具体耗时节点。

内容的提问来源于stack exchange,提问作者N. M.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 08:01:22