.Net Core 1.1 中的疯狂深度路径长度

Crazy Deep Path Length in .Net Core 1.1

有没有人在 .NET Core 1.1 中看到 netcoreapp1.1\publish 文件夹下的问题,他们最终得到一个 bin 文件夹,该文件夹似乎在自身循环并最终导致路径太长的消息出现在Windows。尝试在 Windows 资源管理器中删除此文件夹会导致出现“源太长”消息。唯一的解决办法是使用 RoboCopy.

这是生成路径之一的示例:

bin\Debug\netcoreapp1.1\publish\bin\Debug\netcoreapp1.1\publish\bin\Debug\netcoreapp1.1\publish\bin\Debug\netcoreapp1.1\publish\bin\Debug\netcoreapp1.1\publish\bin\Debug\netcoreapp1.1\publish\bin\Debug\netcoreapp1.1\publish\bin\Debug\netcoreapp1.1\publish\bin\Debug\netcoreapp1.1\publish\bin\Debug\netcoreapp1.1\publish\bin\Debug\netcoreapp1.1\publish\bin\Debug\netcoreapp1.1\publish\bin\Debug\netcoreapp1.1\publish\bin\Debug\netcoreapp1.1\publish\bin\Debug\netcoreapp1.1\publish\bin\release\netcoreapp1.1\publish\bin\release\netcoreapp1.1\publish\bin\release\netcoreapp1.1\publish\bin\release\netcoreapp1.1\publish\bin\release\netcoreapp1.1\publish\Controllers\

这是我设置不正确导致的问题吗?

上次清理返回了以下统计数据:

文件夹:6866 文件:7391

我正在使用以下命令发布:

dotnet publish -c debug

似乎每次发布都使文件夹结构更深,这似乎与我创建此文件夹结构的项目中的 CSHTML 文件有关:

\publish\bin\debug\netcoreapp1.1\publish\Controllers\Account\Views

然后第二次构建这个结构:

  \publish\bin\debug\netcoreapp1.1\publish\bin\debug\netcoreapp1.1\publish\Controllers\Account\Views

等等...

我正在使用 SDK 1.0.0-preview2-1-003177

尝试更新 sdk 以发布现在可用的版本。 1.0 版和 1.1 版(在本文 post 时)包含在从此处下载的一个软件包中。 https://www.microsoft.com/net/download/core

如@Andrii Litvinov 所述,VS2017 将进行迁移。 如果您需要帮助:Microsoft 提供 project.json 到 msbuild 的免费迁移帮助。 (截至本次更新时间 2017 年 3 月 15 日]

查看:http://landinghub.visualstudio.com/migrate-dotnetcore

我记得我在使用 .NET Core SDK 预览版 2 时遇到了同样的问题。它已在 preview3 或 preview4 中修复。并且在 .NET Core SDK 1.0 中肯定是固定的。正如@Marc 所提到的。只需更新您的 SDK https://www.microsoft.com/net/download/core#/sdk.

使用新的 SDK,您的项目将转换为 csproj 和 MSBuild,因此不再 project.json。

编辑: 项目将在 VS 2017 中自动转换,如果您使用命令行工具,您应该应用 dotnet-migrate 命令。