.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 日]
我记得我在使用 .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 命令。
有没有人在 .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 日]
我记得我在使用 .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 命令。