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, он работает хорошо.
Для более подробной информации вы можете обратиться к этой теме.