【问题标题】:"Path too long" when publishing ASP.NET Core from Visual Studio 2017从 Visual Studio 2017 发布 ASP.NET Core 时出现“路径太长”
【发布时间】:2020-01-21 09:13:43
【问题描述】:

我在使用 Visual Studio 2017 将 ASP.NET Core Web 应用程序部署到远程 IIS 服务器时遇到问题。一切都在我的本地计算机上编译并运行良好,但是当我想使用 VS 发布时,我不断收到错误消息说它无法复制一些文件,因为路径长度太长。

我找到了similar posting from 2015,但在 VS2017 中选择的答案似乎对我不起作用。

我可以通过 CLI 命令手动发布:

dotnet publish -f netcoreapp2.2 -r win10-x64 --self-contained false -o c:\temp\publish

然后手动将输出从C:\temp\publish 目录复制到远程 IIS 服务器,但鉴于 Visual Studio 2017 具有发布功能,这似乎是不必要的冗长。

有谁知道需要更改哪些设置才能让 VS2017 为其中间文件使用更短的路径,而不是加深我的项目目录的目录树?

【问题讨论】:

  • VS 在发布时用作目标的目录路径有多长?也许您应该定义另一个目标,例如您提到的 c:\temp\publish
  • 路径肯定太长了,这没有争议(它超过了允许的 260 个字符)。这是因为 VS 的默认中间目录是我的项目目录的子目录。正如我上面提到的,我可以通过使用 CLI 上的-o 参数来更改中间目录的位置,但我不知道如何在 VS 内部进行更改。在上一篇文章中,同样的事情发生了,但是VS2015/asp.net-core1.0有一个解决方案,但这在VS2017/asp.net-core2.2中不再有效

标签: asp.net visual-studio asp.net-core visual-studio-2017 asp.net-core-2.2


【解决方案1】:

将您的解决方案保存在 d:\project\yourprojectname\youproject.sln 之类的简单路径中并发布,如果有这么多子文件夹,那么肯定会抛出错误

【讨论】:

  • 感谢@sunil,但我希望有一个解决方案,类似于 VS2015/asp.net-core1.0 的解决方案。我已经有一个变通方法,使用 CLI 发布到较短的目录,然后手动复制到远程服务器。
猜你喜欢
  • 2016-02-23
  • 1970-01-01
  • 1970-01-01
  • 2017-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-09
  • 1970-01-01
相关资源
最近更新 更多