2017-05-26 37 views
6

我正在使用Visual Studio 2017 preview(2)创建Azure函数。它生成的模板是从我在Visual Studio中得到非常不同的2015年Visual Studio 2017 Azure函数模板没有类似于 - run.csx或project.json的文件

在Visual Studio 2017年的模板创建功能的cs文件和模板结构如下所示:

Visual Studio 2017 Azure Function Template Structure

所有功能都是作为独立的.cs文件创建的,并且没有run.csx,project.json或function.json文件,因此我无法指定函数特定的依赖关系和设置

如果我们看到较早的模板(参见下面的图片),它很好地代表了Visual Studio 2015 t Azure门户上提供的文件夹和文件。它具有所有.json和.csx文件在单个文件夹中的功能。此文件夹结构有助于在隔离与特定功能的文件(这是不符合VS 2017年模板的情况下)

Visual Studio 2015 Azure Function Template Structure

在VS 2017年,我希望通过添加项目以指定特定功能的依赖和绑定设置。 json和function.json。请让我知道如何实现这一目标?

回答

7

这是打算。 Azure Functions小组改变了您在Visual Studio 2017中开发和部署函数应用程序的方式。现在,它基本上是一个已编译的类库,功能是具有适当属性的静态方法。

您不应该手动编辑function.json;而是使用WebJob SDK属性。包管理通过NuGet包完成普通的.NET方式。

了解更多this blog post

“旧的方式”仍然可以在Azure门户中进行快速原型设计和实验,但Visual Studio不再支持它。

+0

谢谢,这回答了我的很多问题,但有一件事仍然困扰着我,没有project.json文件,在函数应用程序中的所有函数之间共享依赖关系是很好的。 如果我们认为功能应用程序是一组相关功能,但是想知道最佳实践是什么,这可能不是一个坏主意。 –

+0

@RamkumarSingh事实上,你应该保持你的应用程序相对较小和紧密。有效的功能应用程序与其他.NET应用程序类型相同。 – Mikhail

+0

只是一个小澄清...'function.json'尚未被弃用,并且在必要的情况下,如果需要的话,它甚至可以在VS中使用。在这种情况下,您只需负责入口点,文件和绑定配置。 –

相关问题