I\'m writing an ASP.NET Core app (on the full .NET Framework) that uses WebListener, rather than Kestrel.¹ I\'m using Visual Studio 2015 with Update 3, and \".NET Core 1.0.1
UPDATE:
The issue should be fixed with the latest release (update) of Visual Studio 2017.
Initial answer:
As mentioned in comments in ssmith answer, Visual Studio keeps restoring the settings on restart.
Since I could not find a better solution, I just denied the write permissions on launchsettings.json
for Visual Studio. I left the instructions in my other answer for similar question, here is just a copy&paste:
launchsettings.json
for the last time.Hope it helps.
The following worked for me:
Add the following as the first entry in the <PropertyGroup>
<OutputType>Exe</OutputType>
Is it sufficient for you to simply delete the IIS Express option from the launchSettings.json file under Project properties?
Delete the stuff in the red box:
Now only the other profile should appear:
Note that I'm using VS2017 RC. It may be a bug in VS2015 that you're encountering. You might try editing and saving the launchSettings.json file with a separate text editor and see if that works for you. I can confirm this works fine in VS2017 RC, though.
So we've been struggling with this as well. What we ended up doing was having a copy of the launchsettings.json which was "clean", without the IIS Express stuff in it, and then having a pre build script which copies the clean version on top of the existing version.
Create a new file. launchSettings.json.pristine in the same folder as your existing launch settings file.
Add a pre build script to copy the clean file overwritting the IIS settings.
cd ..\..\..\Properties copy launchSettings.json.pristine launchSettings.json
This should effectively copy it over on build/run/etc.
I've created VS 2017 extension to deal with iis express launch settings https://marketplace.visualstudio.com/vsgallery/e09e0342-f9af-4306-8cf5-35238e34592d
The overall idea is to fix launchSettings.json for each .net core project before executing Build/Start/StartWithoutDebugging commands