Setting ServiceHost in VisualStudio when Working with Docker - visual-studio

If you create a ASP.NET Core 3 Web API service it makes a file called launchSettings.json under "Properties". That file has the following setting under docker:
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/index.html",
I am trying to find a way to set the ServiceHost part of this. (Apparently this defaults to localhost.) I tried adding
<ServiceHost>mycomputer.mydomain.net</ServiceHost>
to a PropertyGroup in my csproj file, but it had no effect (the default page loaded was still localhost). (Though it will still work when I enter mycomputer.mydomain.net.
How can I set ServiceHost for my docker run?
NOTE: I would love an answer that includes how to do this with docker-compose as well. (I tired moving this to docker-compose and only localhost would work (mycomputer.mydomain.net stopped working).

Related

Unable to launch IIS Express Web Server in VS 2013

I have an application in MVC 4 using VS 2013.
This is very strange,everything was working fine till last night but today morning when I started working and tried to run my application I found the following error:
Unable to launch IIS express web server.
Failed to register URL"http://localhost:62707" for site...
Access denied(0x80070005)
I searched regarding this since morning and I got solutions for this which I tried as:
I deleted IIS Express folder from my documents several times and
tried running the application by reopening it but that dint work.
I tried with changing the binding in applicationhost file from http
to https. With this the only thing that got changed is the error is
now showing:
Unable to launch IIS Express Web server.
The start URL specified is not valid.
I restarted my system many times as per some of the suggestion . Also
my browser too .
I tried ending the process for IIS Express from Task Manager.
But nothing seems to be working for me and even after trying almost all of the possibilities for hours I kind of got stuck at this point.
You can try this:
Open "Command Line Interface (CLI)" called "Command shell" with
"Win+R" write "cmd" put this command for removing the urlacl.
netsh http delete urlacl url=http://{ip_address}:{port}/
Then add the url for everyone
netsh http add urlacl url=http://{ip_address}:{port}/ user=everyone
Then close the VS and delete the IISExpress folder from Documents
path as:
%userprofile%\Documents, e.g. C:\Users\[you]\Documents\IISExpress
Re-run your application.

Typescript 1.0 map files do not load

In VS2013 update 2 RC (Typescript 1.0 RTM) I cannot debug TypeScript files in one of my projects. I have traced this back to the map file declaration. By default my JS file contains:
//# sourceMappingURL=general.js.map
Which should be correct, the map file is in the same folder as the TS and JS files. However it doesn't work. if I manually edit the file, specifying the full path, it works:
//# sourceMappingURL=C:/Users/myname/Documents/Visual Studio 2013/Projects/Test/JSLib/general.js.map
This confuses me, because surely the browser shouldn't understand the full path, eg outside the IISExpress web site?
Can anyone suggest a way to get map files working with the first mapping? Thanks
Windows 8.1 x64, IE11
Update: the app, running through IISExpress, uses Windows authentication. if I turn this off the map files load! Also, checking the output window I see:
SourceMap http://localhost:53524/JSLib/general.js.map read failed: The remote server returned an error: (401) Unauthorized.'iexplore.exe' (Script): Loaded 'http://localhost:53524/JSLib/'.
My IIS Express logs contain
2014-04-12 13:58:24 ::1 GET /JSLib/general.js.map - 53524 - ::1 - - 401 2 5 0
But I can browse to http://localhost:53524/JSLib/general.js.map fine in IE. So what's making the call for the map file (VS?) and how to I get it to use my credentials?
I too have been experiencing this problem. I am sorry to say that I do not know what the root of the problem is. However, I have found a workaround.
Open your project properties and go to the 'TypeScript Build' tab. In the 'Debugging' section, check the 'Specify root directory of the source maps' option and enter the value $(ProjectDir)\Scripts.
This works with Windows Authentication enabled and with the default 'sourceMappingUrl'.

How to keep Global.asax from being compiled into the app

Working with a MVC3/.NET Framework4/IIS7.5 app that in previous deployments has included the Gobal.asax.cs copied to the server. Some setting or configuration has changed that behavior now to include just the Global.asax with none of the codebehind included. The properties setting shows Copy Always | BuildAction Content which is, I think, what it should be.
I'm deploying via FileSystem (a vpn connection to my remote host) because I presume that to be the fewest deployment hoops - I know from my point of view it's preferable to the alternate deployment methods.
Is that having an effect on how Global.asax is being treated - where else should I be looking?
thx
Using Visual Studio 2012 I was able to produce a published build on my local file system which included Global.asax.cs by setting the Build Action and Copy to Output Directory properties of the Global.asax.cs file to:
Build Action : Content
Copy to Output Directory : Copy always
I suspect you've only set these property values on the Global.asax file.
This was performed on an ASP.NET MVC3 C# project.

Debugging with VS other than localhost

I want to debug my application by VS but when the application should run, it should have url like: http:localtesting.com instead of localhost. I already have localtesting.com in my host file so directly putting that url in my browser opens my IIS default directory page. How can I make my VS to run on that url while debugging? Where should I put that url?
Edit:
Putting the url in custom web server textbox and running the solution I am getting :
Set it to "Use Custom Web Server" and put your URL into that box.
Edit: 'The unable to debug..' error message is probably a separate issue. Can you debug a brand new site that you can create just to test?
A few things can cause that error. For example, the URL Rewrite module: Unable to start debugging on the web server. Could not start ASP.NET debugging VS 2010, II7, Win 7 x64
As #SteveHobbs said, set it to "Use Custom Web Server and put your URL into that box. Just underneath that section, there should be another section labelled "Debuggers".
Put a tick into the checkbox next to ASP.NET and save the properties.
When you want to debug, go to the debug menu within VS and choose "Attach to Process...".
If you are using IIS, look for the process called 'w3wp.exe' and choose that. After a bit of crunching, perform whatever actions you need on your web app and you will see the debugger land on your breakpoints and so on.

Unable to start program 'http://localhost/Default.aspx'. VS2010

I cannot start my website from Visual Studio 2010 anymore.
For a few days I cannot start my project in a web browser using F5. When I open my web application directly by typing the same url 'http://localhost/Default.aspx' everthing works fine.
When I run the project (F5) a new webbrowser starts, but after a few seconds it is stuck and Visual Studio gives an error dialog:
Microsoft Visual Studio
Unable to start program 'http://localhost/Default.aspx'.
OK
When I run the project in release mode it gives an extra error:
Microsoft Visual Studio
The following module was built either with optimizations enabled or without debug information:
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\6552bec6\694bce32\assembly\dl3\8c9bd8d8\fb1d75cb_af26cc01\[name].Presentation.DLL
To debug this module, change its project build configuration to Debug mode. To suppress this message, disable the 'Warn if no user code on launch' debugger option.
OK
I have already repaired, removed and reinstalled Visual Studio 2010, I've tried using different browsers (including Chrome and Firefox), used different aspnet_regiis.exe options, etc. etc.
Nothing helps, and yeah now I'm stuck pulling hair out of my head ...
Anyone any idea how to solve this?
Does it work if you start it with [CTRL]+[F5] which runs without the debugger?
If so, then you have an issue with the debugger auto-attaching to the web server. I would check that debugging is enabled for your web project - a warning that usually crops up automatically from VS when it detects that a project is not built in Debug mode.
This is not as simple as switching the project configuration over to Release, because the DLL that the debugger is moaning about is one of the dynamically generated ones originated by Asp.Net itself.
Typically you should have, in your web.config:
<configuration>
<system.web>
<compilation debug="true" >
</compilation
<system.web>
<configuration>
(Along with any other stuff in <configuration> and <system.web> nodes).
There's also the possibility that Asp.Net debugging is not, for some reason, enabled.
Check out this msdn article on debugging asp.net applications in VS2010 for more information.
Note that if this is VS010 express, then you won't be able to debug - as confirmed by the aforementioned link; but since you way it used to work then I guess that's not your problem.
Update
Since that hasn't worked - you can try emptying the Temporary ASP.Net files folder. Easiest first is to do an iisreset. Then navigate to C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files and delete everything in it. I've had issues in the past where the Asp.Net binaries don't get refreshed and so when I'm debugging it moans that the files are out of date.
Change the View Browser to another browser. Run the view in browser or debug, then change back to original browser should work after that.
Had same problem, answer for me was to remove Avast Free AV. Everything worked for a year with avast free up until a week or so ago, uninstalling it fixed the problem.
I had this exact problem with Visual Studio 2008. The solution was to set the default web browser that VS uses to a real browser (e.g. IE) and not the "Internal Web Browser".
Right click on an ASPX file in your project and select "Browser With...". This lets you select the default browser to use when you select the "View in Browser" option and for when you debug/run the app (this is key).
Select your favourite browser (i.e "Internet Explorer") and click on "Set as Default". Do not pick "Internal Web Browser".
Debug away! Your app should come up in your browser now and debug as normal.
the solutions for me is to test with 127.0.0.1 in place of localhost. and all goes well for.
so the problem come from the host resolution name, to solve it please proceed like :
open cmd and then tape : %systemroot%\System32\drivers\etc\
open hosts file with notepad and the look for localhost ligne(you'll find 0.0.0.0 befor it )
change the 0.0.0.0 with 127.0.0.1 at all lignes with localhost .
I solved in this way:
Right click on a aspx page
Browse with set internal browser as default
Remove the previous default browser
Add %programfiles(x86)%\internet Explorer\iexplore.exe
Set this choice as default
For me I just did a Build /ReBuild on the project level and it started working!!!
I had the same problem. When I debug my code it says:
Unable to start program 'C:\homework.exe'. this system cannot find the file specified."
I'm using Microsoft Visual C++ 2010 Express but when I made a new project by the following steps:
Open C++:
Press new project
Press win32
Press win32 Console Application
Rename it
Click next
make sure: that the application type is console application
additional options: empty project*
Press Ctrl+Shift+A
In Visual C++/Code section press C++ File (.cpp)
rename it and press add
It works fine with for me now.
Please set your page name e.g Default.aspx revert to parent in IIS configuration
I'll share my experience with this same problem. This is not a solution, but someone may be able to figure out the problem from my particular experience.
I've been having this same problem for a few weeks now. (I don't know what changed on my system.) I do not run as local admin, because we are not allowed to have admin privileges on our PCs where I work.
Until today, I could expect F5 (Start Debugging) to start up a new local VS web server, open an IE window, and then issue an "unable to start program http://localhost:nnnn/Login.aspx" and "access is denied" error pop-up. If I closed the IE window, waited a few seconds, and then clicked F5 again, it usually started up my web app in debug mode just fine from that point on.
But today, that all changed. I did not change any configuration on my web app, which has been running fine, but I did add a couple of more classes to one of my subprojects. At this point, I could never get past the "unable to start program" message. I could run my app without debugging, but that was rather pointless. I even tried attaching to a running (non-debug) IE process, but that did not work.
Finally, I modified some of the properties in the WebAppName >Web >Servers screen. Specifically, I enabled "Specific port" for a specific HTTP port (which VS had been using all along), and I disabled "NTLM Authentication". I also enabled "ASP.NET" in the Debuggers section. Some of these I first clicked, then unclicked, then clicked again, saving in between each click.
This time, running with debug (F5) worked.
After running several times, I still usually get a "unable to start" error the first time after a recompile, but I can still usually get a debuggable running app to start after the second or third try. At least I'm back to where I was yesterday.
I suspect it has do with VS reloading its execution profile, and also probably something to do with permissions (since I cannot run as admin).
I'm using VS2012 with an ASP.net app that was written using VS2003... I've tried everything to get the IE page to open automatically when I select F5, or even Ctrl+F5... Haven't been able to get anything to work... However, I have stumbled upon a very poor work-around. When I select debug and I get the 'Unable to start program...' msgbox... I noticed that on the icon-tray I get a msg saying local-host has started
You'll notice a picture that the msgbox is pointing to:
Well, if you right click it, you get three options:
When you select the first: 'Open in Web Browser', it will open IE with the page your working with...
Like I said, it's a very poor work-around... but it works. This isn't an issue when I select debug using 'Chrome' or the page-inspector... But they have their own issues.
Try to turn on Bypass proxy for local addresses.
First you can go to your browser settings-> Change proxy Settings-> Connection-> Lan Setting and just check bypass proxy for local addresses.
If this solution don't work then also copy the following code check your web.config file for settings to bypass firewall:
<system.net>
<defaultProxy>
<proxy usesystemdefault="true" proxyaddress="http://proxy:port" bypassonlocal="false" />
</defaultProxy>
</system.net>
I easily resolved this problem by enabling script debugging in the browser.
When I ran into this problem (using IE 11) I noticed that iexplore was open about a hundred times in the task manager. After killing them all I was able to open my project just fine.
Since then, I have made a .bat file with this code:
taskkill /F /IM iexplore.exe /T
so now I just run the .bat when I get that error.
(alternatively you could run that code from the cmd)
I just ran into this problem in Visual Studio 2013. I had to enable Anonymous Authentication.
Click on the project node in solution explorer.
Hit F4 to show the properties window.
Change the Anonymous Authentication option to Enabled.

Resources