After successfully following this introduction to Web API 2 (although unable to "run" by pressing f5) I am really confused as to what is built and what is run when you create a WebAPI2 project. The only way I was able to test if it was working was by right clicking the project and clicking View -> View in Browser. I can't seem to find any .exe in the build folder (the app does build fine) to run.
What exactly is built and what is required to run a WebAPI2 projecT?
Your only output in a web project are a bunch of DLL's and maybe some static files that you could be using in your project (see this link about ASP.NET Web Project Folder Structure) . You don't have a .exe or an executable file in this case. Your built app requires a web server in order to execute, and when you are developing a project you have some options. Check this link about Web Servers in Visual Studio.
In order to run your project pressing F5, check if your ASP.NET Web Api project is configured as startup project. Check this link about how to configure it.
If you are still having any issue trying to run your web application in Visual Studio, please provide us with more information about your problem or errors, so we can provide you a better answer.
Related
I have a hard requirement from the developer to use a website project instead of a web app project for a .net deployment. I am able to connect and use continuous integration just fine with a web app project, but when using website, it fails to find the compiled files for deployment:
#[debug]check path : D:\a\_tasks\PublishBuildArtifacts_2ff763a7-ce83-4e1f-bc89-
0ae63477cebe\1.142.2\task.json
##[debug]set resource file to: D:\a\_tasks\PublishBuildArtifacts_2ff763a7-ce83-4e1f-bc89-0ae63477cebe\1.142.2\task.json
##[debug]system.culture=en-US
##[debug]PathtoPublish=D:\a\1\a
##[debug]check path : D:\a\1\a
##[debug]ArtifactName=drop
##[debug]ArtifactType=Container
##[debug]system.hostType=build
##[warning]Directory 'D:\a\1\a' is empty. Nothing will be added to build artifact 'drop'.
Looking at the build process, it's compiling a copy of the deployment to the PrecompiledWeb folder instead of the debug folder, which seems to explain why it cannot find the results. Has anyone had luck deploying with a website project or have you run into the issue above?
Azure DevOps Continuous Integration with asp.net website project instead of web application
Since the project is asp.net website, you may need use the website.publishproj file instead of the .sln file when you publish the asp.net website project with MSBuild.
The command line like:
msbuild.exe "<PathToTheFile>\website.publishproj" /p:deployOnBuild=true /p:publishProfile=WebsiteTestDemo /p:VisualStudioVersion=1x.0
With this setting, MSBuild does not create the PrecompiledWeb folder and the publish uses the setting in the profile.
Check my previous thread for some more details.
The website project the publish process is not plumbed into the build
process. For website project since there is no formal build process
there was nothing for us to really extend.
Hope this helps.
I'm trying to publish the sample web application in Visual Studio on smarterasp.net, but I can't complete the publish process beacause smarterasp doesn't allow to load exe files with the free account. However it seems that asp.net core is allowed with every type of account.
Have someone ever had the same problem? Do you know if it's possible to deploy an asp.net core application without exe files?
I have to create an exe of an website created in asp.net using visual studio 2010.
I don't known whether exe of web application can be created or not, but I want that my application with database will be able to run on another system where visual studio will or will not be there.And my code should not to be visible to the users using that exe or running that project.
How can I achieve it?!
you can't make a exe for web application but you can do one thing to solve your problem
1)make a window project in this project make a code for run iis and open browser with your web application url and make your window application form hide
2) now make exe of your window application project
You cannot create an executable file in asp.net.
All you can do is create a website using visual studio. once done, publish your website. Deploy it to IIS or host it to a paid web hosting company so you can have your domain. Once done, other users can see your beautiful and elegant website.
You don't create exe of a web application. It is hosted on IIS. So first of all you have to publish your website and then you can host it. For more information you can refer to this one:http://msdn.microsoft.com/en-us/library/20yh9f1b%28v=vs.100%29.aspx Or google for more articles.
Posting to an old thread, but I came across this situation and found the solution.
Following footsteps of Spring Boot and other containerized solutions, I believe now Microsoft also has added this feature.
My scenario: Created a basic REST based Web application and built it.
This created Debug and Release folder within \bin within the root directory of Web application.
It also creates an exe file.
You just need the necessary runtime dependencies (like .NetCore 3.1 etc in my case) to run this exe.
I copied the entire Web application folder to a Windows Server 2016. There were some issues initially, however later when I added the required dependencies (dotnet folder which was present in my earlier machine), it worked like a charm.
I am facing a strange problem on both my laptop and desktop computer.
In my solution I have an MVC 4 Web Api and the solution is started by Visual Studio 2013.
So If set the Web API project as startup project then When I type some url of the web api it hits the controller.
But if the startup folder is another project, like a website that consumes this web api, then the web api is just unreachable.
I even tried to hit the same url that works when web api is started in debug mode.
So, what could be wrong?
Most likely the issue is that web server is not running. Try hosting your web API in IIS with a fixed URL and port.
Or your try setting multiple start up projects like this:
In your Solution Explorer,
Select, Right click your solution.
On the Project menu, click Properties. The Solution Property Pages dialog box opens.
click Startup Project.
Click Multiple Startup Projects and set the project actions start.
Two possible ideas to try:
Left click on the WebApi project, and open the properties window (F4 for shortcut key) ensure Always Start When Debugging is set to true
When debugging your consumer application, right click on the WebApi Project, and click Debug > Start New Instance
If they don't work the best solution would be to host the WebApi application using IIS / IISExpress
I have found the actual problem.
I am running Windows 7 x64 and Visual Studio 2013.
I had to uncheck the Enable Edit and Continue checkbox under Tools->Options->Debugging.
Now I am using a single startup project in my solution and I can call the web api also when not in Debug mode.
I have created a simple MVC3 application in Visual studio 2012. Earlier I was using VS2010. Both are currently Installed on my System.
The Problem is that when I publish and Deploy the application on IIS It doesn't works.
It gives Error Code 0x00000000
I tried with different applications but problem remains the same. Any of the application created in VS2012 is not deploying Successfully. Please Help.
I am adding snapshot of publish and error message.
looks like you are publishing an mvc3 app.
If I remember correct for that version you either have to install mvc on the server or include mvc binaries in your output directory.
There was a menu item for mvc project (right click on a project in solution explorer) to add mvc dependencies to some binpub folder. You should look for that.
oh and here is a Hanselman post on the topic
http://www.hanselman.com/blog/BINDeployingASPNETMVC3WithRazorToAWindowsServerWithoutMVCInstalled.aspx
And another SO question: Why is the _bin_DeployableAssemblies folder specific to web applications?