我最近将项目升级到.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.
答案 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