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

Create a 64-bit build of func.exe #117

Closed
lindydonna opened this issue Apr 14, 2017 · 21 comments
Closed

Create a 64-bit build of func.exe #117

lindydonna opened this issue Apr 14, 2017 · 21 comments
Labels
Milestone

Comments

@lindydonna
Copy link
Contributor

lindydonna commented Apr 14, 2017

Would be func64.exe

Edit: there is a 64 build in the latest release https://github.com/Azure/azure-functions-cli/releases/

@lindydonna lindydonna added this to the backlog milestone Apr 14, 2017
@lindydonna lindydonna modified the milestones: 1.0.0.beta.97, backlog May 16, 2017
@lindydonna lindydonna modified the milestones: backlog, 1.0.0.beta.101 Jul 12, 2017
@kr4ster
Copy link

kr4ster commented Jul 13, 2017

If all else fails, you can pull down the project, open the properties for the cli project, uncheck the box for "Prefer 32-bit" under the "Build" tab and rebuild the project. Once I did this, I made a backup of the existing install %LOCALAPPDATA%\Azure.Functions.Cli\1.0.0-beta.100 and overwrote the existing files with the newly compiled files.

@aarondcoleman
Copy link

👍 for a 64-bit build

@MikeWilliams-UK
Copy link

MikeWilliams-UK commented Aug 16, 2017

I just downloaded the source and I get 55 errors when I try to compile it...
Am I doing something wrong (I am using VS2015)?

Update: Looked at the appveyor build status and its not passing, same errors as I am seeing.
Found last passing build, downloaded code for that and it now compiles, but did not run my unmodified code, something must be still missing.

I think I will wait until an official 64 bit build is created!
It's easy enough to deploy to Azure and run in there as 64 bit and examine output of logging (via Seq https://getseq.net/)

@ahmelsayed
Copy link
Contributor

@MikeWilliams-UK what errors are you getting? AppVayor doesn't run automatically and since I'm the only one committing to this repo, I never bothered update it.

Can you try excluding the test project? I'm using a private xunit from the xunit myget feed to get around an annoying bug on my machine. I should add that to the .nuget config.

@MikeWilliams-UK
Copy link

First thing I did was to remove the unit test project as I don't care about that. I am trying to get a 64 bit build so that I can locally test functions running msonline powershell which must run 64 bit.

The errors I am seeing are exactly the same as in the latest appveyor output.

@ahmelsayed
Copy link
Contributor

I created a signed x64 build and added it to the release notes for 1.0.1 https://github.com/Azure/azure-functions-cli/releases/tag/1.0.1, so give that a try.
I'll take a look at the build errors in appVayor

@MikeWilliams-UK
Copy link

Thanks I will give it a try tomorrow and let you know if it works (for me)

@MikeWilliams-UK
Copy link

I have just tested the x64 build and I can confirm that it works a treat.

Thanks for your valuable time.

@wesselkranenborg
Copy link

Is there a later x64 CLI release available? For the 1.0.6 release for example?

@miguelmartin75
Copy link

miguelmartin75 commented Jan 19, 2018

How do we use this in Visual Studio to build the project? I don't understand. I have a dependency that is 64 bit and is not compatible with the 32 bit build that VS is producing. In 64-bit mode the .dll for my Azure functions are not being produced (C#).

Edit: Okay, nevermind. All you have to do is do what @kr4ster said and replace the files in %LOCALAPPDATA%\Azure.Functions.Cli\<version> with a 64-bit build. I used v1.0.7. Regardless, this is such an ugly hack.

@ejizba
Copy link
Contributor

ejizba commented Feb 5, 2018

Can we get an easier way to install the 64-bit build? Or at least documentation on the best way to install? Like @miguelmartin75 mentioned, copying files to a location on disk is not ideal.

Fwiw, the 64-bit build is useful with the VS Code extension for Azure Functions, since the C# Debugger for VS Code only supports attaching to 64-bit processes.

@nickmkk
Copy link

nickmkk commented Jun 21, 2018

It seems my build is using cli v1.2.0 but I don't see a release for that version, am I missing something here?

image

@Frankwayne
Copy link

If you want to debug in visual studio with the 64 bit version of the azure functions CLI you will need to do the following. I was working with the V1 release branch so be sure to grab the right CLI for the azure functions you wish to run

Its kinda crazy and every time your azure function and web job tools extension updates you will need to run this fix

Pretty much you have to go to where your Azure function CLI is install for this extenion. Default location is here. I imagine once the extension automatically updates the version will change. E.G. 1.3.0

C:\Users\A750501\AppData\Local\AzureFunctionsTools\Releases\1.3.0\cli

Delete all of those fies inside of the cli folder. Download the Azure.Functions.Cli.x64.zip of the latest v1 releases

put the content of the zip folder in the cli folder. Boom you are now running the 64 bit Azure functions

@paulbatum
Copy link
Member

An alternative approach to actually replacing the bits that Visual Studio executes is to configure your project to run your selected version of the CLI by adding an additional launch profile. See here for an example. This example focuses on switching VS over to use a version you acquired via NPM, but the same approach could be used with a CLI build you downloaded directly.

@Frankwayne
Copy link

@paulbatum that is a much better approach and I would also recommend other people follow your approach. I had no idea you could do such a task and it is awesome to learn how to switch profiles on demand instead of fooling the extension

@ryancole
Copy link

ryancole commented Oct 29, 2018

@paulbatum or anybody who may know,

Is the 2.x version line of the CLI tools strictly for the v2 of the Functions service itself? We're using 1.x for the .NET Framework support, but are needing an x64 CLI. I'm unclear whether the versioning for this CLI tool set is the same as saying "v1 or v2 of Functions service".

On my Windows machine, I see CLI versions along the lines ranging from 1.0 through 1.4, which is what is being used by VS, for the 1.x line. I don't see those version tags on github at all, though - nowhere close.

Will the latest 2.x builds of this CLI tool work for the 1.x version line of Functions too?

Edit:

I think my confusion came from the version number used in the path that visual studio stores the functions CLI tools. It puts it in a folder with a version of 1.4.0. That version appears to actually be the 1.0.15 release found here on github. That clears up much of my confusion.

@ahmelsayed
Copy link
Contributor

Yes, your edit is correct. the version VS uses is different from the version of the core-tools. It's confusing I know, but they have a different release process than the core-tools.

@sdg002
Copy link

sdg002 commented Apr 1, 2019

Sorry, I am confused, please help. I am looking for the 64 bit version of func.exe so that I can debug a Version 1 Azure function using Visual Studio 2017. Which version of the tool should I use? Thank you.

@sdg002
Copy link

sdg002 commented Apr 1, 2019

Ok. I have solved it now. Just for reference, this is what I did to debug a 64 bit V1 Azure function from Visual Studio. (.NET Framework 4.6)

  1. Downloaded the 64 bit Azure function tools from here I downloaded the version 1.0.17.

  2. Extracted the contents of this ZIP to a folder c:\Tools\Azure-v1-64-bit

  3. For debugging in Visual Studio, I selected the following options on the Debug Tab

  4. Launch=Executable

  5. Application Arguments=host start

  6. Working directory=$(TargetDir)

  7. Executable=c:\Tools\Azure-v1-64-bit\Func.exe

@soninaren
Copy link
Member

Closing this one since we do create 64 bit exe for CLI.

@paulbatum
Copy link
Member

And for completeness, tracking of x64 development in Visual Studio is here:
Azure/Azure-Functions#376

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests