Azure / Azure/azure-functions-core-tools
Functions Core Tools creates CS triggers in flat structure instead of folder structure that docs recommend
- Dominant language
- C#
- Stars
- 1.5k
- Forks
- 498
- Avg merge
- 5d 4h
- Merged PRs (30d)
- 15
Description
Docs and code creation mismatch on folder structure creates some confusion as to whether the functions will work, and if I were a customer I would not want to have to experiment to find out if the way it is done in VS Code will work when the docs say I should expect something different.
In this folder structure doc, it is recommended to create folders for each function inside a function app but in Core Tools the CS functions are created in single files. Javascript function apps are created as recommended in the docs. Given that the docs reference function.json files and these are not available in the CSharp function app, it may be that the doc should be updated rather than the core tools code. However the folder structure is reinforced in both the C# (class library) doc and the C# script (.csx) doc. Oddly, all of these docs reference a functions.json file but Core Tools creates the functions.json file in the \bin\Debug\netcoreapp2.1\ folder (see attached screenshot).
**Repro step**: Create multiple CSharp triggered functions in the same folder using Core Tools in VS Code.
**Problem Statement**: Currently, using Core Tools in VS Code creates CS Functions in single files. The documentation recommends that each function be created inside of a function app, and the JavaScript Functions are created following this recommendation, so the partner was confused why CS Functions do not follow this.
**Desired Experience**: When using Core Tools in VS Code to create CS Functions, the resulting function should be created inside of a function app.
Internal tracking#191161
Contributor guide
Research direction
Start with the Core Tools VS Code flow for creating multiple CSharp-triggered functions in one folder, then compare its output with the folder-structure documentation and the C# class-library and .csx guidance. Done means resolving whether Core Tools should create per-function folders or the documentation should describe the generated flat structure, including the location of functions.json.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, csharp
- Domain
- cli, devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100