ASP.NET Core如何修改PubTmp临时目录?
解决ASP.NET Core发布到Azure时路径过长的问题
方法1:自定义发布临时目录
在项目的.csproj文件中添加以下配置,指定一个路径更短的自定义临时目录,替换默认的\obj\Release\net8.0\PubTmp\Out\路径:
<PropertyGroup> <!-- 示例:用短路径作为发布临时目录 --> <PublishTempDir>C:\PubTmp</PublishTempDir> </PropertyGroup>
配置后,发布过程会将临时文件存放到你指定的目录,从根源避免路径过长问题。
方法2:启用Windows长路径支持
如果不想修改临时目录,可在.csproj中开启长路径支持:
<PropertyGroup> <EnableWindowsLongPaths>true</EnableWindowsLongPaths> </PropertyGroup>
注意:Windows 10 1607版本及以上、Windows Server 2016及以上系统默认支持长路径,若系统未开启,可通过组策略或注册表手动启用。
方法3:优化wwwroot文件结构
如果是wwwroot内文件嵌套层级过深导致路径过长,可直接调整文件结构,减少嵌套层数;也可以在项目中排除不必要的文件,缩小发布范围:
<ItemGroup> <!-- 排除不需要发布的深层嵌套文件 --> <Content Remove="wwwroot\deep-nested\unused-files\**" /> </ItemGroup>
方法4:换用Azure部署方式
若上述方法无效,可绕过本地发布的临时目录步骤,直接用Azure DevOps Pipeline或FTP工具将文件上传到Azure App Service。
内容的提问来源于stack exchange,提问作者Brian Rak
相关产品推荐
相关产品推荐

