将WebJob部署到Azure

时间:2017-11-10 17:55:41

标签: visual-studio azure msbuild visual-studio-2017 webdeploy

我最近将项目升级到.NET Framework 4.6.1,现在尝试将其部署到Azure作为WebJob时出现问题。我收到以下错误:

  

C:\ Program Files(x86)\ Microsoft Visual   工作室\ 2017年\社区\的MSBuild \微软\ VisualStudio的\ V15.0 \网络\ Microsoft.Web.Publishing.targets(2603,5):   错误:复制文件   C:\ Users \ XXXXXXXXXXX \ Documents \ Source \ Workspaces \ XXXXX Server   应用\ ServerApplication \ XXXXXXXX.IntegrationService \ BIN \发布\ Microsoft.Extensions.DependencyInjection.Abstractions.dll   至   OBJ \发布\包\ PackageTmp \ app_data文件\ \工作连续\ XXXXXXXXIntegrationService \ Microsoft.Extensions.DependencyInjection.Abstractions.dll   失败。指定的路径,文件名或两者都太长。完全   限定文件名必须少于260个字符,并且   目录名称必须少于248个字符。

我对错误感到困惑,因为路径和文件名只有189个字符组合在一起:

  

C:\ Users \ XXXXXXXXXXX \ Documents \ Source \ Workspaces \ XXXXX Server Application \ ServerApplication \ XXXXXXXX.IntegrationService \ bin \ Release \ Microsoft.Extensions.DependencyInjection.Abstractions.dll

如果我从项目中删除Microsoft.Extensions.DependencyInjection.Abstractions.dll,我可以正常部署。我已经尝试清理解决方案并重新启动VS.

1 个答案:

答案 0 :(得分:1)

  

我对错误感到困惑,因为路径和文件名仅合并了189个字符

那是因为如果路径和文件名的错误只是在下面的路径中合并了189个字符的事件:

  

C:\用户\ XXXXXXXXXXX ...的仓\释放 \ Microsoft.Extensions.DependencyInjection.Abstractions.dll

但是当我们发布项目时,VS / MSBuild会将此文件复制到路径:

  

OBJ \发布\包\ PackageTmp \ app_data文件\作业\连续\ XXXXXXXXIntegrationService \ Microsoft.Extensions.DependencyInjection.Abstractions.dll

因此完整路径和文件名应为:

  

C:\ Users \ XXXXXXXXXXX \ Documents \ Source \ Workspaces \ XXXXX Server   应用程序\ ServerApplication \ XXXXXXXX.IntegrationServiceobj \推出\包\ PackageTmp \ app_data文件\作业\连续\ XXXXXXXXIntegrationService \ Microsoft.Extensions.DependencyInjection.Abstractions.dll

然后路径和文件名大约为260个字符,因此VS / MSBuild无法访问该路径。要解决此问题,您可以尝试将解决方案/项目移动到根目录,例如:C:\Workspaces