38

I have a VS project in .NET MVC5 which loads an external dll file that uses a lot of memory. In average it uses from 500-1000MB memory.

Now when I try to debug my project with default IIS Express server I almost always get OutOfMemory exception.

I know that there is a /3gb flag for normal IIS but what about IIS Express. Are there any settings so I can enable this or is there any other solution to this problem except of installing a full IIS on development PC?

PS: Developer PC has Windows 8.1 64x and Visual Studio 2013.

Legends
  • 21,202
  • 16
  • 97
  • 123
Gapipro
  • 1,913
  • 2
  • 22
  • 34

2 Answers2

101

Go to Visual Studio - Tools - Options Menu

Choose: - Projects and Solutions, then Web Projects

tick the checkbox: "User the 64 bit version of IIS Express for web sites and projects"

No Registry edit necessary.

Gerrie Pretorius
  • 3,381
  • 2
  • 31
  • 34
  • 10
    I much prefer this to the accepted answer. This still works fine on VS2015 and saves any unneeded registry changes. – bendemes May 12 '16 at 15:14
  • 1
    Great answer.. Worked in VS 2015 :) – MWD Jul 24 '16 at 16:30
  • 1
    Agree!! This should ideally be the selected answer.. Works well in VS2013 Update 5 as well. – sagar Oct 25 '16 at 08:53
  • For me, this resulted in a "Could not load file or assembly. An attempt was made to load a program with an incorrect format." – Josh Noe Nov 22 '16 at 17:29
  • 1
    @JoshNoe one of your dependencies is probably a 32bit version. so you will need to get a 64bit version of that dependency, if that is not possible, you will need to continue working with 32bit version of IIS Express – Gerrie Pretorius Nov 23 '16 at 11:38
  • thanks for this, I actually knew about this but reset my VS settings and forgot about the 64bit flag! – Michael Harper Apr 02 '17 at 10:46
  • This worked for me as well in VS 2015, great answer! – Nathan Jun 16 '19 at 23:46
21

Both Cassini and IISExpress runs as 32 bit by default... You can configure Visual Studio 2012 to use IIS Express 64-bit by adding/setting the following registry key:

reg add HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\WebProjects /v Use64BitIISExpress /t REG_DWORD /d 1

IIS Express 8 and above supports both modes. Best to use an application like process explorer after making the registry change to inspect the IISExpress process and make sure that its running from the 64 bit location. When you install IIS 8.0 Express on a 64-bit system, both the 32-bit and 64-bit versions of IIS 8.0 Express will be installed respectively in the "%ProgramFiles(x86)%\IIS Express" and "%ProgramFiles%\IIS Express" folders.

Alternatively, you can install IIS locally and configure it to run your application. You can configure Visual Studio to point to a local instance of IIS.

webbexpert
  • 704
  • 9
  • 15