Azure WebJob в.NET Core, работающем в Azure

Не нашел подобного вот так...

Дело в том, чтобы создать простое веб-задание на Azure с использованием.net core 2.0. Я скачал много примеров, и все эти примеры отлично работают на моем локальном ПК, но не тогда, когда я загружаю их на Azure...

Один из примеров, который я взял здесь - пример веб-работы

Как я уже сказал, он отлично работает локально, но на лазурном он выдает ошибку во время инициализации:

[06/12/2018 14:54:54 > c9dee2: SYS INFO] Status changed to Initializing
[06/12/2018 14:54:54 > c9dee2: SYS INFO] Run script 'run.bat' with script host - 'WindowsScriptHost'
[06/12/2018 14:54:54 > c9dee2: SYS INFO] Status changed to Running
[06/12/2018 14:54:54 > c9dee2: INFO] 
[06/12/2018 14:54:54 > c9dee2: INFO] D:\local\Temp\jobs\triggered\ccc45\hgqichl3.x1l>dotnet webjobs-core-example.dll 
[06/12/2018 14:54:54 > c9dee2: ERR ] Error:
[06/12/2018 14:54:54 > c9dee2: ERR ]   An assembly specified in the application dependencies manifest (webjobs-core-example.deps.json) was not found:
[06/12/2018 14:54:54 > c9dee2: ERR ]     package: 'Microsoft.Azure.WebJobs.Core', version: '3.0.0-beta1-10871'
[06/12/2018 14:54:54 > c9dee2: ERR ]     path: 'lib/netstandard2.0/WebJobs.dll'
[06/12/2018 14:54:54 > c9dee2: ERR ] 
[06/12/2018 14:54:54 > c9dee2: SYS INFO] Status changed to Failed
[06/12/2018 14:54:54 > c9dee2: SYS ERR ] Job failed due to exit code -2147450740

Ошибка говорит о том, что он не может найти пакет Microsoft.Azure.WebJobs.Core, который является единственным, который поддерживает ядро ​​.net и находится в состоянии предварительного выпуска (последняя стабильная версия 2 - не поддерживает ядро). Однако я не нашел информации о том, что пакет Azure Nuget не поддерживает предварительные пакеты...

Я также пытался обновить до последней бета5 - тот же результат. Другой момент, который я попробовал, - это скопировать предварительные пакеты на мой локальный компьютер и добавить их в качестве ссылок, чтобы заставить процесс сборки поместить эти зависимости рядом с основной библиотекой. Это сработало, но еще одна, а затем еще одна ошибка была выдана Azure, что он не может разрешить какую-то другую зависимость, и я сдался.

Есть ли способ заставить основное приложение.net работать с SDK azure webjobs? Любые предложения приветствуются. Спасибо!

1 ответ

Решение

Кажется, вам не хватает ссылки на веб-задания. Так что вы могли бы использовать <PropertyGroup> внутри вашего .csproj файл для принудительного копирования сборок NuGet во встроенный вывод:

<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>

После использования приведенного выше кода, он покажет все DLL, как показано ниже, и я публикую в Azure, он работает хорошо.

Для более подробной информации вы можете обратиться к этой теме.

Другие вопросы по тегам