Помилка при спробі опублікувати функцію блакитного від Visual Studio


13

Я отримую таке повідомлення про помилку, коли я намагаюся опублікувати свою функцію за допомогою Visual Studio, будь-яка ідея, як це виправити?

System.AggregateException: сталася одна чи більше помилок. ---> System.Exception: Опублікувати сталася помилка. Нам не вдалося визначити причину помилки. Перевірте вихідний журнал для отримання більш детальної інформації. --- Кінець внутрішнього сліду стека винятку --- у System.Threading.Tasks.Task.ThrowIfExceptions (Булева включатиTaskCanceledExceptions) в System.Threading.Tasks.Task.Wait (Int32 millisecondsTimeout, CancellationToken cancellationToken) на Microsoft.Pubwork.upwork.upwork. Model.DefaultPublishSteps. <> C__DisplayClass26_0.b__2 () в System.Threading.Tasks.Task`1.InnerInvoke () на System.Threading.Tasks.Task.Execute () --- Кінець трасування стека з попереднього місця, де виняток був кинуто --- у System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (Завдання завдання) на System.Runtime.CompilerServices. TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Завдання завдання) в Microsoft.Publish.Framework.Model.DefaultPublishSteps.d__23.MoveNext () --- кінець трас стека з попереднього місця, куди було викинуто виняток --- у System.Runtime.CompilerServices.TaskAverWare (Завдання завдання) на System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Завдання завдання) в Microsoft.Publish.Framework.ViewModel.ProfileSelectorViewModel.d__213.MoveNext () ---> 0 (Inner Exception) сталася помилка. Нам не вдалося визначити причину помилки. Перевірте вихідний журнал для отримання більш детальної інформації. <--- MoveNext () --- Кінець трасування стека з попереднього місця, куди було викинуто виняток --- у System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (Завдання завдання) на System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerN .Publish.Framework.ViewModel.ProfileSelectorViewModel.d__213.MoveNext () ---> (Внутрішній виняток № 0) System.Exception: Опублікувати сталася помилка. Нам не вдалося визначити причину помилки. Перевірте вихідний журнал для отримання більш детальної інформації. <--- MoveNext () --- Кінець трасування стека з попереднього місця, куди було викинуто виняток --- у System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (Завдання завдання) на System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerN .Publish.Framework.ViewModel.ProfileSelectorViewModel.d__213.MoveNext () ---> (Внутрішній виняток № 0) System.Exception: Опублікувати сталася помилка. Нам не вдалося визначити причину помилки. Перевірте вихідний журнал для отримання більш детальної інформації. <--- d__213.MoveNext () ---> (Внутрішній виняток № 0) System.Exception: Опублікувати сталася помилка. Нам не вдалося визначити причину помилки. Перевірте вихідний журнал для отримання більш детальної інформації. <--- d__213.MoveNext () ---> (Внутрішній виняток № 0) System.Exception: Опублікувати сталася помилка. Нам не вдалося визначити причину помилки. Перевірте вихідний журнал для отримання більш детальної інформації. <---

System.Exception: Publish сталася помилка. Нам не вдалося визначити причину помилки. Перевірте вихідний журнал для отримання більш детальної інформації.

====================


Зараз я стикаюся з подібною проблемою у Visual Studio 2019 - хоча я намагаюся опублікувати в папці у своєму випадку. Я все ще намагаюся відстежити, що це спричиняє, але я намагався це робити в моєму випадку: 1.) Очистити кеш NuGet, 2.) Видалити бін та obj папки 3.) Створив новий профіль папки Також, що ви бачите у вихідному файлі журналу? Що-небудь корисне?
VirtualValentin

Ви намагалися розгорнути його з допомогою Git з допомогоюDeployment Center
Павла

Відповіді:


8

Ви можете спробувати this

Видаліть налаштування WEBSITE_RUN_FROM_PACKAGE повністю з налаштувань програми Azure Functions з порталу Azure.


2
Я це зробив без жодного успіху.
Recusiwe

Це працювало для мене. Я не впевнений, що це пов’язано з тим, що він "перезапускає" функцію Azure, коли вносяться зміни середовища або, якщо це блокування конфігурації.
Джастін Нефф

5

Це проблема тайм-ауту Visual Studio, що означає, що ваш код та деякі інші налаштування не є ключовою для проблеми. Ця помилка виникає через те, що Visual встановлює обмеження на час випуску. (Файл занадто великий або швидкість Інтернету нестабільна)

Якщо проект розгортання не надто великий, ви можете зачекати, поки швидкість мережі стабільна, перш ніж спробувати запустити її. Звичайно, ви можете також спробувати інші методи розгортання, щоб уникнути цієї проблеми, наприклад, розгортання zip .


У мене було успішно розгорнути його за допомогою zipdeploy. Однак, коли я перевіряю вміст програми, він оновлюється, але коли я запускаю функцію, здається, запускається стара версія?
Recusiwe

@Recusiwe Що означає "запустити стару версію"? Ви маєте на увазі, що версію функції azure було змінено?? Чи розв’язує zip розгорнуту проблему?
BowmanZhu

Під "старою версією" я маю на увазі останню версію, яку я зміг опублікувати з VS, а не з розгорнутою мовою. Вміст програми містить код з розгорнутого поштового індексу, але він не працює. У ньому працює стара версія.
Recusiwe

@Recusiwe Яку функцію ви використовуєте зараз? Який IDE ви зараз використовуєте? І що таке складання вашого проекту? ( .csprojФайл) Я раніше стикався з подібною помилкою, здається, проблема складання того часу. Іноді ця помилка трапляється лише у Visual Studio 2019. Ви можете спробувати скористатися Visual Studio 2017, щоб побачити, чи все ще існує цей виняток. Якщо ви використовуєте Visual Studio 2017, чи використовуєте ви Resharper? Я намагаюся відтворити вашу помилку і зустріти подібну, але я не впевнений, що це пов’язано з вашою ситуацією.
BowmanZhu

Функція додаток v. 2 та Visual Studio 16.4.1
Recusiwe

0

Без спільного використання вашого проекту на такій формі гри, як GitHub, нам дійсно важко запропонувати конкретні поради, так багато змінних, стільки комбінацій пакетів NuGET та посилань, що ваш проект може мати конфлікт таким чином, що це спричинить це помилка.

Особливо з функціями v2, я не раз стикався з цим питанням або подібними. Один з найбільших факторів функцій - це конкуруючі поняття між v1 та v2.

Коли ви використовуєте майстра публікації Visual Studio для створення цільового ресурсу в Azure, він, як правило, має більший успіх, якщо ви з цим боролися якийсь час, я пропоную вам дотримуватися цього процесу, як доказ концепції, якщо нічого іншого:

Ця порада однаково добре працює у VS2017 та 2019 році

  1. Створіть новий функціональний проект у візуальній студії, за тим же рішенням.
    • Повторіть назву початкової функції
  2. Опублікувати функцію в НОВОМУ ресурс Azure, використовуйте майстер публікації для створення цього ресурсу.
  3. Якщо публікація успішна:
    • Перемістіть свій оригінальний код проекту до нового проекту
    • Зверніть пильну увагу на версії наборів пакунків, які ви хочете перенести, вони та їх залежності повинні бути сумісними з v2
  4. Якщо публікація НЕ успішна
    • Переконайтесь, що ви оновили Visual Studio до останнього
    • Переконайтесь, що ваші інструменти Azure також оновлені до останнього

Як правило, для загального успіху з функціями Azure:

  1. Використовуйте v1 для .Net Framework проектів, або якщо будь-який із ваших довідкових проектів або пакетів NuGET має .Net Fx залежності. (так. Net 4 + ... або все, що не є. Net Core .)

    Навіть коли ці залежності орієнтовані на кілька проектів, за допомогою функцій розгортання має тенденцію до збою, оскільки він не в змозі належним чином виявити правильну платформу під час оцінки залежностей NuGET під час розгортання.

  2. Використовуйте v2 тільки для .Net Основних проектів, переконайтеся , що ваші посилання також є тільки .Net ядром

Компілюйте та публікуйте свій код поступово, а також використовуйте AzureDevOps або GitHub або інші сховища вихідного коду, щоб часто перевіряти свій код за допомогою функцій. На ранніх етапах проекту Функції ми часто вводимо неоднозначні рефлексії та пакети NuGET, і вони, здається, працюють локально, але не під час їх розгортання.

  • використання репо-коду вихідного коду дозволяє легко вносити зміни до встановлення нових пакетів та відкату, якщо встановлення пакету призводить до нерозгортання коду.
  • Це здається безладним, але завдяки версії NuGet, повертаючись до стану перед встановленням пакету, він не сприймається як видалення цього пакету, він може дуже легко оновити інші пакети, і в цьому мінливому середовищі Azure багато авторів пакетів вирішили оновити свій ресурси між .Net Framework і .Net Core, і не завжди вони це робили добре, або іноді зберігають деякі .Net рамкові елементи, які спричинять конфлікти у функціях Azure.

Є кілька цікавих дискусій, які можуть допомогти:


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.