Сумасшедшая длина глубокого пути в .Net Core 1.1
Кто-нибудь видел проблему в .NET Core 1.1, где под папкой netcoreapp1.1\publish они заканчиваются папкой с бинами, которая, кажется, зацикливается сама по себе и в конечном итоге вызывает слишком длинное сообщение в Windows. При попытке удалить эту папку в проводнике Windows появится сообщение "Слишком длинное время". Единственное решение - использовать RoboCopy.
Вот пример одного из сгенерированных путей:
Bin\Debug\netcoreapp1.1\публиковать\Bin\Debug\netcoreapp1.1\публиковать\Bin\Debug\netcoreapp1.1\публиковать\Bin\Debug\netcoreapp1.1\публиковать\Bin\Debug\netcoreapp1.1\публиковать\Bin\Debug\netcoreapp1.1\публиковать\Bin\Debug\netcoreapp1.1\публиковать\Bin\Debug\netcoreapp1.1\публиковать\Bin\Debug\netcoreapp1.1\публиковать\Bin\Debug\netcoreapp1.1\публиковать\Bin\Debug\netcoreapp1.1\публиковать\Bin\Debug\netcoreapp1.1\публиковать\Bin\Debug\netcoreapp1.1\публиковать\Bin\Debug\netcoreapp1.1\публиковать\Bin\Debug\netcoreapp1.1\публиковать\Bin\выпуск\netcoreapp1.1\публиковать\Bin\выпуск\netcoreapp1.1\публиковать\Bin\выпуск\netcoreapp1.1\публиковать\Bin\выпуск\netcoreapp1.1\публиковать\Bin\выпуск\netcoreapp1.1\публиковать\Контроллеры\
Это проблема, вызванная тем, что я неправильно установил?
Последняя очистка вернула следующую статистику:
Папки: 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
Ответы
Ответ 1
Я помню, что у меня была такая же проблема с preview2.NET Core SDK. Он был исправлен либо в превью3, либо в предварительном просмотре4. И это определенно исправлено в .NET Core SDK 1.0. как упомянуто @Marc. Просто обновите SDK https://www.microsoft.com/net/download/core#/sdk.
С новым SDK ваш проект будет преобразован в csproj и MSBuild, поэтому больше нет project.json.
EDIT: Проект будет автоматически преобразован в VS 2017, если вы используете инструмент командной строки, вы должны применить dotnet-migrate.
Ответ 2
Попробуйте обновить версию sdk для выпуска версии.
Версия 1.0 и версия 1.1 (на момент публикации) включены в один пакет отсюда.
https://www.microsoft.com/net/download/core
как упоминается @Andrii Litvinov, миграция произойдет для VS2017.
если вам нужна помощь: Microsoft предлагает бесплатную миграционную помощь для project.json для msbuild. (на момент обновления 15 марта 2017 года)
проверить: http://landinghub.visualstudio.com/migrate-dotnetcore