tools - Target.NET Core 2.0 con funciones de Azure en Visual Studio 2017
create azure function in visual studio 2017 (3)
Desde que Microsoft lanzó .NET Core 2.0 para Azure Functions hace unos días, estoy tratando de entender cómo crear un nuevo proyecto de Funciones en VS2017 dirigido a .NET Core.
He intentado muchas configuraciones y todavía terminé con .NET 4.7.
¿Alguien logró crear una nueva función dirigida a .NET Core?
Gracias.
A partir de hoy, he podido apuntar a .Net Standard 2.0 de una manera "razonablemente" intuitiva y sin editar ningún archivo .csproj.
Necesitas una versión razonablemente reciente de Visual Studio. Estoy usando Visual Studio Professional 15.5.3 (aunque supongo que esa comunidad funcionaría).
Debe tener instalada la carga de trabajo de desarrollo de Azure. Esto instalará una extensión llamada Funciones de Azure y Herramientas de trabajos web.
Hasta ahora tan simple vainilla. Hubo 2 bits adicionales que, para mí, no eran del todo intuitivos, pero terminaron siendo muy fáciles de hacer: ¡fácil cuando sabes cómo!
Debe asegurarse de que la Herramienta de trabajos en la web y las funciones de Azure sea 15.0.31114.0 o superior, que es cuando agregaron la compatibilidad con .net core 2.0 (consulte https://github.com/Azure/Azure-Functions/blob/master/VS-AzureTools-ReleaseNotes.md ). Puede actualizar esto utilizando Herramientas / Extensiones y actualizaciones, o visite https://marketplace.visualstudio.com/items?itemName=VisualStudioWebandAzureTools.AzureFunctionsandWebJobsTools
Incluso cuando lo has hecho, Visual Studio es un poco extraño al permitirte crear las Funciones de Azure destinadas a .net 2.0. Cuando selecciona Archivo / Nuevo proyecto, nada ha cambiado en la lista de tipos de proyectos disponibles, y si selecciona Funciones de Azure, la lista de Frameworks solo muestra .NET Framework *, no .NET Standard, no .NET Core.
Pero si en este punto persevera y selecciona Funciones de Azure, obtiene un nuevo cuadro de diálogo que no había visto antes, que le permite seleccionar Vista previa de Funciones de Azure v2 (.NET Core).
Ahora, cuando miro las propiedades del proyecto, resulta que está apuntando a .NET Standard 2.0, que a su vez parece contener Microsfot.NETCore.Platforms (1.1.0). Entonces, ¿esto es .net core 2.0 o no? No estoy seguro, pero es lo suficientemente bueno para mis propósitos, así que ahora voy a meterme en algo de codificación.
¡Aclamaciones!
Esto es compatible con la versión 1.0.5 del paquete Microsoft.NET.Sdk.Functions.
En su Proyecto de funciones de Azure, haga lo siguiente:
- Actualice la versión del paquete
Microsoft.NET.Sdk.Functions
a 1.0.5 - Haga clic derecho en su proyecto, haga clic en la opción
Edit <projectname>.csproj
y modifique el valor del elementonetstandard2.0
anetstandard2.0
Esto generará ensamblados .NET Standard 2.0 con todos los artefactos creados por las herramientas de Azure Functions.
Por ahora, es un proceso manual. Debe crear la biblioteca .NET Standard 2.0, agregar function.json
manualmente y ejecutarla con las herramientas principales.
el paquete Microsoft.NET.Sdk.Functions todavía no es compatible con las bibliotecas de clase .NET Standard 2.0. Este es el paquete que identifica un proyecto como proyecto de Funciones para Visual Studio y genera function.json a partir de atributos durante la compilación.
Aún puede crear bibliotecas de clase C # dirigidas a .NET Standard 2.0, pero debe usar function.json de creación manual. Las plantillas para las bibliotecas de clase C # aún no están disponibles en las herramientas principales, pero puede obtener una muestra de GitHub.
Desde Develop Azure Functions en cualquier plataforma.
Actualización: la versión 1.0.5 de SDK ahora debería admitirlo, como lo menciona Fabio.