ASP.Net Сбой публикации ядра произошел из-за невозможности скопировать файл

#asp.net-core #publish #azure-webjobs

#asp.net-core #опубликовать #azure-веб-задания

Вопрос:

я пытаюсь опубликовать webjob в Azure, но я получаю некоторые ошибки, подобные следующим. похоже, это потому, что в пути после ‘Out’ он добавляет две обратные косые черты вместо одной (PubTmp Out \ app_data).

 28>Could not copy "C:DevelopmentTNGActivationServicebinReleasenetcoreapp3.1TNG.Services.WindowsService.ActivationService.runtimeconfig.json" to "C:DevelopmentTNGActivationServiceobjReleasenetcoreapp3.1PubTmpOut\app_dataJobsContinuousTNG.Services.WindowsService.ActivationServiceTNG.Services.WindowsService.ActivationService.runtimeconfig.json". Beginning retry 1 in 1000ms. Could not find a part of the path 'C:DevelopmentTNGActivationServiceobjReleasenetcoreapp3.1PubTmpOut\app_dataJobsContinuousTNG.Services.WindowsService.ActivationServiceTNG.Services.WindowsService.ActivationService.runtimeconfig.json'. 
28>Could not copy "C:Usersmohsen.rezaei.nugetpackagesmicrosoft.extensions.configuration.azureappconfiguration4.0.0libnetstandard2.0Microsoft.Extensions.Configuration.AzureAppConfiguration.dll" to "C:DevelopmentTNGActivationServiceobjReleasenetcoreapp3.1PubTmpOut\app_dataJobsContinuousTNG.Services.WindowsService.ActivationServiceMicrosoft.Extensions.Configuration.AzureAppConfiguration.dll". Beginning retry 1 in 1000ms. Could not find a part of the path 'C:DevelopmentTNGActivationServiceobjReleasenetcoreapp3.1PubTmpOut\app_dataJobsContinuousTNG.Services.WindowsService.ActivationServiceMicrosoft.Extensions.Configuration.AzureAppConfiguration.dll'. 
28>Could not copy "C:Usersmohsen.rezaei.nugetpackagesmicrosoft.extensions.configuration.environmentvariables3.1.6libnetcoreapp3.1Microsoft.Extensions.Configuration.EnvironmentVariables.dll" to "C:DevelopmentTNGActivationServiceobjReleasenetcoreapp3.1PubTmpOut\app_dataJobsContinuousTNG.Services.WindowsService.ActivationServiceMicrosoft.Extensions.Configuration.EnvironmentVariables.dll". Beginning retry 1 in 1000ms. Could not find a part of the path 'C:DevelopmentTNGActivationServiceobjReleasenetcoreapp3.1PubTmpOut\app_dataJobsContinuousTNG.Services.WindowsService.ActivationServiceMicrosoft.Extensions.Configuration.EnvironmentVariables.dll'. 
28>Could not copy "C:Usersmohsen.rezaei.nugetpackagesmicrosoft.extensions.dependencyinjection.abstractions3.1.6libnetstandard2.0Microsoft.Extensions.DependencyInjection.Abstractions.dll" to "C:DevelopmentTNGActivationServiceobjReleasenetcoreapp3.1PubTmpOut\app_dataJobsContinuousTNG.Services.WindowsService.ActivationServiceMicrosoft.Extensions.DependencyInjection.Abstractions.dll". Beginning retry 1 in 1000ms. Could not find a part of the path 'C:DevelopmentTNGActivationServiceobjReleasenetcoreapp3.1PubTmpOut\app_dataJobsContinuousTNG.Services.WindowsService.ActivationServiceMicrosoft.Extensions.DependencyInjection.Abstractions.dll'. 
28>Could not copy "C:Usersmohsen.rezaei.nugetpackagesmicrosoft.extensions.options.configurationextensions3.1.6libnetcoreapp3.1Microsoft.Extensions.Options.ConfigurationExtensions.dll" to "C:DevelopmentTNGActivationServiceobjReleasenetcoreapp3.1PubTmpOut\app_dataJobsContinuousTNG.Services.WindowsService.ActivationServiceMicrosoft.Extensions.Options.ConfigurationExtensions.dll". Beginning retry 1 in 1000ms. Could not find a part of the path 'C:DevelopmentTNGActivationServiceobjReleasenetcoreapp3.1PubTmpOut\app_dataJobsContinuousTNG.Services.WindowsService.ActivationServiceMicrosoft.Extensions.Options.ConfigurationExtensions.dll'. 
28>Could not copy "C:Usersmohsen.rezaei.nugetpackagessystem.data.sqlclient4.8.1runtimesunixlibnetcoreapp2.1System.Data.SqlClient.dll" to "C:DevelopmentTNGActivationServiceobjReleasenetcoreapp3.1PubTmpOut\app_dataJobsContinuousTNG.Services.WindowsService.ActivationServiceruntimesunixlibnetcoreapp2.1System.Data.SqlClient.dll". Beginning retry 1 in 1000ms. Could not find a part of the path 'C:DevelopmentTNGActivationServiceobjReleasenetcoreapp3.1PubTmpOut\app_dataJobsContinuousTNG.Services.WindowsService.ActivationServiceruntimesunixlibnetcoreapp2.1System.Data.SqlClient.dll'. 
28>Could not copy "C:DevelopmentTNGActivationServicebinReleasenetcoreapp3.1TNG.Services.WindowsService.ActivationService.runtimeconfig.json" to "C:DevelopmentTNGActivationServiceobjReleasenetcoreapp3.1PubTmpOut\app_dataJobsContinuousTNG.Services.WindowsService.ActivationServiceTNG.Services.WindowsService.ActivationService.runtimeconfig.json". Beginning retry 2 in 1000ms. Could not find a part of the path 'C:DevelopmentTNGActivationServiceobjReleasenetcoreapp3.1PubTmpOut\app_dataJobsContinuousTNG.Services.WindowsService.ActivationServiceTNG.Services.WindowsService.ActivationService.runtimeconfig.json'. 
28>Could not copy "C:Usersmohsen.rezaei.nugetpackagesmicrosoft.extensions.configuration.azureappconfiguration4.0.0libnetstandard2.0Microsoft.Extensions.Configuration.AzureAppConfiguration.dll" to "C:DevelopmentTNGActivationServiceobjReleasenetcoreapp3.1PubTmpOut\app_dataJobsContinuousTNG.Services.WindowsService.ActivationServiceMicrosoft.Extensions.Configuration.AzureAppConfiguration.dll". Beginning retry 2 in 1000ms. Could not find a part of the path 'C:DevelopmentTNGActivationServiceobjReleasenetcoreapp3.1PubTmpOut\app_dataJobsContinuousTNG.Services.WindowsService.ActivationServiceMicrosoft.Extensions.Configuration.AzureAppConfiguration.dll'. 
Further technical details
 

Я использую ASP.Net Ядро 3.1 и visual studio 2019

Комментарии:

1. В моем случае проблема заключалась в том, что путь к проекту был слишком длинным. Похоже, что существует ограничение в 256 символов. Он работал с профилем ‘Debug’, но не с профилем ‘Release’, поэтому я сократил путь к проекту до 256 символов, и теперь он работает.

Ответ №1:

Возможно, путь публикации слишком длинный.

Вот шаги, которые я сделал:

  1. Переименуйте свой проект (сделайте его короче).
  2. Исправьте зависимости в других проектах, если они ссылаются на ваш переименованный проект.
  3. Переименуйте содержащую папку проекта.
  4. Удалите проект из решения и добавьте его снова (также для исправления ссылок).
  5. Удалите профиль публикации.
  6. Очистите и перестройте.
  7. Создайте новый профиль публикации.

Если это не поможет — возможно, путь к туру все еще слишком длинный.

Желаю удачи.

Ответ №2:

Возможно, вам просто нужно загрузить файл и использовать стороннюю программу для его загрузки. Убедитесь, что вы разместили следующий код в начале своего кода, если вы загружаете файл из кода. Надеюсь, это сработает!

 <javascript-void0>
 

Ответ №3:

У меня была та же проблема, все работало, и, ничего не меняя, я получал ту же ошибку при попытке опубликовать webjob из Visual Studio.

Я решил это, изменив целевую платформу на .Net 5.0 вместо Net Core 3.1.

Вот шаги, которые я выполнил, чтобы устранить проблему:

  1. Щелкните правой кнопкой мыши на проекте, затем выберите .NET 5.0 в раскрывающемся списке target framework.
  2. Очистите проект
  3. Закройте visual Studio
  4. Удалите вручную папки obj и bin
  5. Откройте Visual Studio
  6. Щелкните правой кнопкой мыши по проекту и выберите Перестроить

Когда все будет успешно скомпилировано, попробуйте опубликовать еще раз — это должно сработать.

Если ваши зависимости еще не совместимы с .NET 5.0, я предлагаю вам перейти на net core 2.0 (выполнив описанные выше действия), а затем изменить его обратно на net core 3.1 (выполнив описанные выше шаги).

Я понятия не имею, почему это произошло, но, по крайней мере, это сработало для меня.