Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Functions Tooling for Visual Studio 2017 #201

Closed
garrardkitchen opened this issue Mar 8, 2017 · 106 comments
Closed

Functions Tooling for Visual Studio 2017 #201

garrardkitchen opened this issue Mar 8, 2017 · 106 comments

Comments

@garrardkitchen
Copy link

@garrardkitchen garrardkitchen commented Mar 8, 2017

Is tooling coming to VS 2017?

Warmest regards,

Garrard.

@lindydonna
Copy link
Contributor

@lindydonna lindydonna commented Mar 10, 2017

It's in progress. I'll keep this issue open as a tracking item.

@lindydonna lindydonna changed the title VS 2017 tooling Functions Tooling for Visual Studio 2017 Mar 10, 2017
@eryon
Copy link

@eryon eryon commented Mar 10, 2017

@lindydonna cool, thanks for the update! Do you know yet if it'll be delivered through the VS2017 installer, or more like a tooling extension as it was for 2015?

@lindydonna
Copy link
Contributor

@lindydonna lindydonna commented Mar 10, 2017

@eryon Yes, it will be through the VS2017 installer. Should be a much nicer install experience than the current tooling extension.

@jakkaj
Copy link
Member

@jakkaj jakkaj commented Mar 11, 2017

+1 super excited for this 👍

@mmisztal1980
Copy link

@mmisztal1980 mmisztal1980 commented Mar 11, 2017

Do you guys have a guesstimate when is this going to be released? this month? within 3 months? or later?

@KaiWalter
Copy link

@KaiWalter KaiWalter commented Mar 12, 2017

Same question here ... When? ... I'm really burning to use VS2017 throughout my projects and do not need to "fallback" to VS2015.

@garrardkitchen
Copy link
Author

@garrardkitchen garrardkitchen commented Mar 12, 2017

Thanks @lindydonna for the confirmation.

@eriawan
Copy link

@eriawan eriawan commented Mar 12, 2017

@lindydonna just suggestion, this issue should be tracked with VIsualStudio2017 tag.
The VS 2015 tooling is working fine, although afaik it's for C# and JS only.

@janeski
Copy link

@janeski janeski commented Mar 21, 2017

Any update on this?

@dereksonthejob
Copy link

@dereksonthejob dereksonthejob commented Mar 21, 2017

Updates on Functions Tooling for Visual Studio 2017 #visualstudio2017 ? When will it be available?

@lindydonna
Copy link
Contributor

@lindydonna lindydonna commented Mar 21, 2017

It's under active development, but we don't have a date to share. The new tooling will be based on class libraries. You can use a few manual steps to use a web project in VS 2017 with support for debugging functions.

See blog post: https://aka.ms/precompiled-functions
And YouTube video walkthrough: Create a Function App as a Web Project

@janeski
Copy link

@janeski janeski commented Mar 21, 2017

Thank you @lindydonna

@dreadeddev
Copy link

@dreadeddev dreadeddev commented Mar 22, 2017

Any idea on a date for when they are going to fix the App Service 3.0 SDK so it actually supports what it's predecessor did, or at least update the installer so that when it removes it 2.96 goes on cleanly!

@niemyjski
Copy link

@niemyjski niemyjski commented Mar 29, 2017

Any updates?

@lindydonna
Copy link
Contributor

@lindydonna lindydonna commented Mar 29, 2017

@niemyjski No updates, beyond the support for precompiled assemblies which works in VS 2017 today. When we have something, we'll post on both the Web Tools team blog and the App Service blog.

@prosser
Copy link

@prosser prosser commented Apr 13, 2017

Now that VS 2015 is no longer offered except through legacy channels to MSDN subscribers, and VS 2017 has released several post-RTM updates, this has become more important. My team has to maintain installations of both 2015 and 2017 just for the Azure Functions support in 2015.

Frankly, we are regretting the purchase of 2017 and the choice of Azure Functions. This disjointed support, combined with the lack of schedule communication feels like amateur hour.

Absent any evidence to the contrary, there must be something wrong with the development effort to integrate into VS2017, or we would at least hear some rough dates. Instead: "we have no dates to share".

You need to share something, because this is hurting both Azure Function and Visual Studio 2017 adoption.

@AndrewBrianHall
Copy link
Contributor

@AndrewBrianHall AndrewBrianHall commented Apr 14, 2017

@prosser I just posted a short blog post outlining our roadmap for tools in Visual Studio 2017

We have not had challenges integrating into Visual Studio 2017, we were just unable to start work on Visual Studio 2017 until after we shipped the RTW version due to the need to finish .NET Core tooling. So we will preview Function Tools for Visual Studio 2017 in our first quarterly update preview to Visual Studio 2017 which is about a month away. In the mean time, using the class library workaround will work in Visual Studio 2017.

@MisinformedDNA
Copy link

@MisinformedDNA MisinformedDNA commented Apr 14, 2017

@prosser Just a reminder, but Azure Function tooling was never RTMed. In 2015, we were using a preview product. We used it at our own risk.

Based on the blog post, you should start converting your Functions from C# Script to C# using the class library workaround as the projects created from the 2015 tooling will probably not work in the 2017 tooling, whereas the workaround should make it fairly trivial to migrate to the new tooling.

@BowserKingKoopa
Copy link

@BowserKingKoopa BowserKingKoopa commented Apr 19, 2017

So ready for this. This being missing in VS 2017 was it's biggest disappointment.

@dreadeddev
Copy link

@dreadeddev dreadeddev commented Apr 20, 2017

@BillRaymond
Copy link

@BillRaymond BillRaymond commented Apr 21, 2017

Hello, pardon my ignorance, but I want to get started with functions. My code is already a C# Windows app, so I want to create a class and publish it as a function to Azure. Unfortunately, I do not see any good end-to-end documentation on this. I saw a video with no audio that shows how to configure the project, but is there a good place you can point me so I can run through an example? Thanks. Also, as with everyone else, I am eager to see VS 2017 receive the tooling it needs.

@dreadeddev
Copy link

@dreadeddev dreadeddev commented Apr 21, 2017

I guess my first response to your question @BillRaymond would be why? Why would you want to do something you would normally do in a windows app in an Azure Function. Functions are sold as a good answer to a compute problem, where you only want to pay for the usage you actually use to compute, as a good cloud offering should. They should be parallel processors that are short lived but highly utilised whilst alive, so the idea of converting a Windows App, to something like that seems an unusual thing to do, which is probably why there aren't any good guides.

If there is a piece of logic that kills your computer that you want to take out of the app into a Function, that would work well (Assuming you're set on using functions, personally after the last 2 months I'm going to walk away from them and see what's happening in 6 months). In which case follow the guide that Donna posted to create a web app and convert it. then you can call your function via a queue for instance from your c# app, and poll a little app service of some sort to see when the job is complete.... Just my thoughts, but atm, in the current state of tooling..... think carefully before proceeding with Functions

@BillRaymond
Copy link

@BillRaymond BillRaymond commented Apr 21, 2017

Hi @dreadedde, I have a single Windows app that I am running now. In the future, I want all my apps (Windows, Mac, Web, etc.) to run much of the same business logic locked up in my current app. To do this, I am looking into creating APIs that run Azure Functions. I do not want to re-write all my code, so it seems like a good idea to take my current classes and move them up into Functions (albeit with modifications).

I am trying out the demonstration link Donna posted now to see how far that gets me. I completely understand your thoughts re:the tooling. I did a lot of research up to now to determine what the best approach is and this whole time I was under the [incorrect] assumption that Microsoft already had tooling figured out so will see what happens next. Thanks for your thoughts.

@MisinformedDNA
Copy link

@MisinformedDNA MisinformedDNA commented Apr 21, 2017

Based on what you describe, I would recommend an Azure API App.

@BillRaymond
Copy link

@BillRaymond BillRaymond commented Apr 22, 2017

Hi @MisinformedDNA I am still going through the design and quite frankly am still learning, but here is what I thought would be the right thing to do:

  1. Create APIs for the core functionality of my product.
  2. Create Functions to handle the business logic on behalf of the API.
  3. Create a logic app that orchestrates the Functions and performs some of the transformations my code needs to perform.

I know this thread is going slightly off topic from the original, but do you have thought son the matter? Happy to take the conversation offline.

@nilayparikh
Copy link

@nilayparikh nilayparikh commented Apr 24, 2017

Any update for VS2017?

@fulls1z3
Copy link

@fulls1z3 fulls1z3 commented May 11, 2017

@lindydonna just installed it on an Azure VM, used a little and I can say that the results are hot! Awesome work 👍

@AndrewBrianHall
Copy link
Contributor

@AndrewBrianHall AndrewBrianHall commented May 11, 2017

@BillRaymond I talked to the setup team and they said your installation failure with Data Storage and Processing is not known. Can you use the build in "Provide Feedback" icon on the top right of the installer to report the issue, it will automatically upload all of the logs
image

@BillRaymond
Copy link

@BillRaymond BillRaymond commented May 11, 2017

Hi @Andrew-MSFT I gathered the logs and provided feedback yesterday so they should have it.

@BillRaymond
Copy link

@BillRaymond BillRaymond commented May 11, 2017

@Andrew-MSFT Pressed the comment button too soon... I did include the log information and it consistently failed. The only other thing I can think of is perhaps it is a combination of other workloads I selected, but it is mot definitely data storage and processing that was in the logs.

@AndrewBrianHall
Copy link
Contributor

@AndrewBrianHall AndrewBrianHall commented May 11, 2017

@BillRaymond great, thanks

@lindydonna
Copy link
Contributor

@lindydonna lindydonna commented May 12, 2017

@BillRaymond I just went through the VSTS build, and it turns out you need to make some customizations form the default App Service Deploy template:

  • Use NuGet version 4.0
  • Change the msbuild arguments for the solution build step to the following: /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactstagingdirectory)\output.zip" /p:DeployIisAppPath="Default Web Site"

I'll do a blog post soon that walks through everything.

@BillRaymond
Copy link

@BillRaymond BillRaymond commented May 12, 2017

Okay, thank you @lindydonna!

@aherrick
Copy link

@aherrick aherrick commented May 12, 2017

When trying to run the VISX receiving error:

"The requested operation requires elevation." I have UAC off.

5-12-2017 9-48-54 am

@Michael-Eng
Copy link

@Michael-Eng Michael-Eng commented May 12, 2017

Can you please attach the vsix installer log in %temp% that corresponds to that installation?

@BillRaymond
Copy link

@BillRaymond BillRaymond commented May 12, 2017

@Michael-Eng Unfortunately, I did this on a Virtual Machine, so every time I had a problem I reverted back to a snapshot. To provide the information you need, I will need to go through the process again, which I am happy to do but it might take me a few days based on my schedule.

@BillRaymond
Copy link

@BillRaymond BillRaymond commented May 12, 2017

Hey All,

As you may know, I created a video that steps you through installing Visual Studio Tools for Azure Functions. Today, I just posted another video that shows you how to use them. Check out the video here:
https://youtu.be/MqpAiazVMQ4

@AndrewBrianHall
Copy link
Contributor

@AndrewBrianHall AndrewBrianHall commented May 12, 2017

@Michael-Eng question was in response to the issue @aherrick reported

@BillRaymond
Copy link

@BillRaymond BillRaymond commented May 12, 2017

@Michael-Eng I am very sorry about that. I blame Friday :-)

@mheydt
Copy link

@mheydt mheydt commented May 15, 2017

I've tried installing with Preview 3 and get an error that I need prerequisite PowerShellTools.VS2017,version=3.0.519. I have the latest version, 539, installed. Any idea how to get around this?

@AndrewBrianHall
Copy link
Contributor

@AndrewBrianHall AndrewBrianHall commented May 15, 2017

@mheydt where in the process are you seeing that error message?

@mheydt
Copy link

@mheydt mheydt commented May 16, 2017

@Andrew-MSFT Installed 2017 15.3 fresh (first time ever). Downloaded the .vsix. Run it, then while initializing... Image attached, along with the log.
![2017-05-15_18-09-11]
(https://cloud.githubusercontent.com/assets/6344715/26084558/4313e93a-399a-11e7-8471-535855a2eb0a.png)
VSIXInstaller_fc105b64-7d12-4246-8a86-0d0987f9ac4d.txt

@garthmason
Copy link

@garthmason garthmason commented May 16, 2017

@BillRaymond thanks for the video link, that has helped me port some functions to the new project and publish them to Azure via VS2017 Preview.
Do you have any information on how to publish a new function project via VSTS continuous integration, rather than via the Visual Studio publish option? I can't seem to find any documentation on doing this specifically for a function app.

@AndrewBrianHall
Copy link
Contributor

@AndrewBrianHall AndrewBrianHall commented May 16, 2017

@mheydt looks like something went wrong with the Visual Studio install. Can you use the "report an issue" link in the installer UI (shown above) to create an issue in the Visual Studio system, the setup team will then use that to track the issue, ask any necessary clarifying questions, and update status.

After you report the issue (which will also upload the logs) I would recommend repairing the installation

@BillRaymond
Copy link

@BillRaymond BillRaymond commented May 16, 2017

@garthmason I have not tried this yet but it is on my todo list of things to try and accomplish. I have been playing around with scenarios from the article below but won't be able to dig my teeth into the topic until next week.
http://www.clemensreijnen.nl/post/2017/01/02/CICD-Pipeline-for-Serverless-release-Azure-Functions-with-VSTS

@joshdcar
Copy link

@joshdcar joshdcar commented May 16, 2017

@BillRaymond @garthmason right there with you. I meant to ask this when I was at Build last week and it slipped my mind. I just did a quick first pass last night just to see if the story changed since it appears we have a new project type with 2017 that didn't require the workarounds of VS2015 azure function toolset. Local instance\dev works great, publishing manually works fine, but when I setup continuous delivery in Azure and it's not picking up on the functions. Was looking for some quick guidance before I started hacking around ;)

azurefunctioncicd

Thinking maybe this should be in its own issue as this thread is probably getting retired so let me know and I'm happy to move it to a new issue (or a more appropriate place for discussion) :)

@lindydonna
Copy link
Contributor

@lindydonna lindydonna commented May 16, 2017

@joshdcar I created this issue to track, and documented the workaround: #291

@WonderPanda
Copy link

@WonderPanda WonderPanda commented May 17, 2017

@lindydonna Was awesome meeting the Functions team at Build!

I'm trying to get a CI/CD build set up in VSTS but I'm getting this message for a project created using the new Functions tooling in VS2017 Preview 3:

The project file "OperationPlatypus\OperationPlatypus.csproj" is not supported by MSBuild and cannot be built

I tried updating to Nuget v4 and adding the msbuild parameters you mentioned earlier in the thread but that doesn't seem to do the trick. Any thoughts?

@jglisson
Copy link

@jglisson jglisson commented May 25, 2017

Thanks for that link, lindydonna. It works!

@rs38
Copy link

@rs38 rs38 commented Aug 20, 2017

@Andrew-MSFT BTW: I did not manage to find the Azure Functions project template on VS 2017 15.3 installed with Azure Dev workload... Is this the same https://marketplace.visualstudio.com/items?itemName=AndrewBHall-MSFT.AzureFunctionToolsforVisualStudio2017 ?

@AndrewBrianHall
Copy link
Contributor

@AndrewBrianHall AndrewBrianHall commented Aug 20, 2017

No, that extension is deprecated, there is a different (updated version) that we attempted to author into the Azure workload. For some reason it doesn't look like the auto-updater is correctly pulling it in from the Gallery however, so if you have the Azure workload installed go to your extensions and updates and you should see an update is available for "Azure Functions and Web Job Tools"

@brigs
Copy link

@brigs brigs commented Aug 21, 2017

@Andrew-MSFT Thanks! Manually updating it fixed it for me.

@rs38
Copy link

@rs38 rs38 commented Aug 21, 2017

grabbing the deprecated addon seemed to trigger the update for the newly build-in templates. All fine now!

@codymullins
Copy link

@codymullins codymullins commented Sep 11, 2017

@Andrew-MSFT thanks that did it, for anyone else with the same struggle (it showed up properly for other coworkers)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
You can’t perform that action at this time.