Целевой.NET Core 2.0 с функциями Azure в Visual Studio 2017

Поскольку Microsoft выпустила.NET Core 2.0 для Azure Functions несколько дней назад, я пытаюсь понять, как создать проект новых функций в VS2017, ориентированном на.NET Core.

Я пробовал много конфигураций и все еще закончил с.NET 4.7.

Кто-нибудь сумел создать новую функцию, нацеленную на.NET Core?

Благодарю.

Ответ 1

Это поддерживается в версии 1.0.5 пакета Microsoft.NET.Sdk.Functions.

В своем проекте Azure Functions выполните следующие действия:

  • Обновите версию пакета Microsoft.NET.Sdk.Functions до версии 1.0.5
  • Щелкните правой кнопкой мыши на своем проекте, выберите параметр " Edit <projectname>.csproj и измените TargetFramework элемента netstandard2.0 на netstandard2.0

Это будет создавать сборки.NET Standard 2.0 со всеми артефактами, создаваемыми с помощью инструмента Azure Functions.

Ответ 2

На сегодняшний день мне удалось настроить NetNet 2.0 на "разумно" интуитивно понятный способ и без редактирования каких-либо файлов.csproj.

Вам нужна последняя версия Visual Studio. Я использую Visual Studio Professional 15.5.3 (хотя я бы предположил, что сообщество будет работать).

Необходимо установить рабочую нагрузку разработки Azure. Это установит расширение, называемое Azure Functions и Web Jobs Tools.

До сих пор такая простая ваниль. Было 2 дополнительных бита, которые были для меня совсем не интуитивными, но в итоге это было очень легко сделать - легко, когда вы знаете, как это сделать!

  1. Вы должны убедиться, что Azure Functions и Web Jobs Tool - 15.0.31114.0 или выше - при добавлении поддержки.net core 2.0 (см. Https://github.com/Azure/Azure-Functions/blob/master/VS -AzureTools-ReleaseNotes.md). Вы можете обновить это с помощью инструментов/расширений и обновлений или просмотреть https://marketplace.visualstudio.com/items?itemName=VisualStudioWebandAzureTools.AzureFunctionsandWebJobsTools

  2. Даже когда вы это сделали, Visual Studio немного странно, что вы можете создавать Azure-функции, нацеленные на.net 2.0. Когда вы выходите из файла/нового проекта, в списке доступных типов проектов ничего не изменилось, и если вы выбираете Azure Functions, список Frameworks показывает.NET Framework *, не.NET Standard, ни.NET Core.
    enter image description here

Но если в этот момент вы упорствовать и выберите Функции Azure, то вы получите новый диалог, я не видел раньше, что позволяет выбрать Azure функций v2 Preview (.NET ядро). Azure Functions v2 Preview (.NET Core)

Теперь, когда я смотрю на свойства проекта, выясняется, что он нацелен на.NET Standard 2.0, который, в свою очередь, содержит Microsfot.NETCore.Platforms(1.1.0). Так это.net core 2.0 или нет? Не совсем уверен, но его "достаточно хорошо для моих целей, поэтому теперь я собираюсь вставить некоторые кодировки.

Ура!

enter image description here

Ответ 3

На данный момент это ручной процесс. Вам необходимо создать библиотеку.NET Standard 2.0, добавить function.json вручную и запустить ее с помощью основных инструментов.

пакет Microsoft.NET.Sdk.Functions пока не поддерживает библиотеки классов.NET Standard 2.0. Это пакет, который идентифицирует проект как проект "Функции" для Visual Studio и генерирует функцию function.json из атрибутов во время сборки.

Вы все же можете создавать библиотеки классов С#, предназначенные для.NET Standard 2.0, но вы должны использовать функцию author.json, созданную вручную. Шаблоны для классов классов классов С# arent еще недоступны в Core Tools, но вы можете получить образец из GitHub.

от разработки функций Azure на любой платформе

Обновление: 1.0.5 версия SDK должна теперь поддерживать ее, как упоминалось в Fabio.