Подтвердить что ты не робот

Сумасшедшая длина глубокого пути в .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

4b9b3361

Ответ 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