How to run an ASP.NET Framework project from a script? - asp.net

I am trying to simplify some of the start-of-day tasks that me and the other developers must do at my company. In order to get our local dev environments running, we have to go through a series of steps: starting VMs, APIs, and other web servers. My goal is to write a script to automate all of this.
The only part that is giving me difficulty is one step in particular where we must start a gateway API project written in .NET Framework before starting the other microservice APIs written in .NET Core. The .NET Core APIs can easily be started via a script which we already use, but I was hoping to make the .NET Framework project part of this script too, which must come first before the other .NET Core APIs. Currently we open the .NET Framework project in Visual Studio, press Run, then run the script to start the other .NET Core APIs.
Does anyone have any pointers on how I can automate starting the .NET Framework project?

I assume you're using IIS Express for debugging, which means you have to open Visual Studio and start debugging for your website to start.
I suggest you install full IIS (not Express) on your machine. It has the benefits of:
You can still debug in Visual Studio
The application will always respond to requests, whether Visual Studio is running or not.
To do this:
In the Start Menu search for and open 'Programs and Features'
Click 'Turn Windows features on or off' on the left
Select 'Internet Information Services' in the list, with all the features you want (pretty much everything under 'World Wide Web Services' and at least 'IIS Management Console' under 'Web Management Tools')
I assume from there you know how to setup the website in IIS Manager. Do it the same as you would on a production server. Just point the site (or virtual folder) to where your code is.
In your Visual Studio project:
Open Project -> [Project Name] Properties...
Click 'Web' on the left
Under 'Servers', select "Local IIS" from the dropdown
Make sure the 'Project Url' matches where you set it up in IIS
There is also a "Create Virtual Folder" button there in Visual Studio that can help you set up the site, if you prefer.

Related

Visual Studio Online continuous deploy ASP.NET web pages to Azure Websites without build

How can I continuous deploy an ASP.NET web pages project to Azure Websites(Web App) without building it by hosted build controller(provided by Visual Studio Online)?
My project contains web pages and do not need to build in order to work. The web pages will be build dynamically when it is live. Also, I don't want to waste my build minutes in order to publish it since it is not required to build. However, I can't found any setting regarding this in Visual Studio. I had set up and wanted to use continuous deployment in Azure Websites.
Please help!
If you install the Azure SDK stuff for Visual Studio you can publish directly to an Azure Website from Visual Studio. You don't need to run your build on a build server, just build locally. Left click on your web project then select "Publish..." then you should see a "Publish Web" wizard that lets you select your azure website and push your built to it.

Debug ASP.NET web forms in full IIS

I'm running Visual Studio 2013 Ultimate on a Windows 8.1 (with Update 1) laptop, and I would like to debug an ASP.NET web forms project against IIS, which is installed on the local Windows 8.1 instance.
Previous versions of Visual Studio had an option to use IIS Express or full IIS, but I cannot find that option in the Project properties anymore.
How do I deploy & debug my ASP.NET web forms project in full IIS?
EDIT: When I right-click on my project, I see this:
And then if I click on "Properties Window" I see this:
This is one way to have your project available in IIS:
Press Ctrl+X, type inetmgr
or
Open your IIS Manager Application.
Expand the tree on the left.
Add WebSite
Give a name to the website and port
For file location provide the same file location were your project is.
Assuming your port number is 3000 just simply type http://localhost:3000 in your browser.
Now from Visual Studio go to:
file Open...
WebSite (you will see that IIS is available on the left).
Open your new web site
This will let you debug from IIS and any changes you make will be directly made on IIS as well.
I just double checked one of my local Web Forms applications locally running in Visual Studio 2013 Ultimate on Windows 8.1. The settings are still there. If you open the project properties for your Web Forms project, you should see the following:
After selecting Local IIS, setting a port, and saving, you should be walked through the process of configuring a Virtual Directory for your site (if one isn't already configured).
EDIT
After looking at your edit, it looks like you've created a Web Site Project rather than a Web Application Project. You can read about the various differences here:
Web Application Projects versus Web Site Projects in Visual Studio
If you haven't written any significant code yet, I'd suggest deleting the Web Site Project and creating a new Web Application Project. You'll then see the settings as described above.
If you really want to keep the Web Site Project, you'll have to configure the site in IIS and then open it in Visual Studio using the 'Open Web Site...' dialog (and then choosing Local IIS as the source):

how to Create Setup of Web application in asp.net?

How to Create Web Application Set up in asp.net ?
I have a web site in a Visual studio.I want to create a single web setup project which should install the web site.So how to create a single web setup project which supports multiple web application installation?
You can use Installshield to do that. When you go to add new project you will see that option under Other Project Types --> Setup and Deployment
http://learn.flexerasoftware.com/content/IS-EVAL-InstallShield-Limited-Edition-Visual-Studio?lang=1033&ver=prem
There are many 3rd party tools that can perform this for you (We use Anthill Pro to deploy between our various environments).
I've used the full version of InstallShield in the past but there was a bit of a learning curve to get it right.
The free alternative is to use the Web Setup Project template in Visual Studio (This uses the 'lite' version of InstallShield I believe). You can also check out this link, which describes many different options for you to deploy your website. Extract from the last link:
Visual Studio, ASP.NET, and IIS provide tools that can help you with
the process of deploying your web application or web site. Some of the
Visual Studio tools work only with web application projects, while
others work only with web site projects. (All MVC projects are web
application projects.)
Hopefully this walkthrough should provide you a good starting point should you choose to go down the Visual Studio route.

Deploy from Visual Studio 2010 stopped working after upgrade to Web Deployment Tool 2.1

I have a web site project that has been existing for a while - it has been ASP.NET MVC2 based up until right now. .Net 4, Visual Studio 2010 Sp1, deployed to IIS 7.5 running on Win2008 R2.
I have four separate deployment profiles - "alpha", "test", "staging" and "live". Yes, I could probably have come up with better names, but they should hopefully convey what they are for.
It was recently decided to upgrade to MVC3 to take advantage of new awesomeness like Razor, global filter attributes, and start using NuGet etc. So I went on an upgrade binge with the Web Platform Installer. One of the things I updated was the Web Deployment Tool - both my developer machine (where the MVC3 upgrade happens) and the web server got this new version of the tool installed.
Since then, I have not been able to do deployments. I have gone back to earlier versions of my project (thanks to git for allowing me to painlessly go back to any previous version) and tried to deploy them, and they don't work either.
Whenever I try to do a deployment from Visual Studio I get the following error:
Web deployment task failed.((23.05.2011 11:18:24) An error occurred when the request was processed on the remote computer.)
(23.05.2011 11:18:24) An error occurred when the request was processed on the remote computer.
Unable to cast object of type 'Microsoft.Web.Deployment.DeploymentSyncOptions' to type 'Microsoft.Web.Deployment.DeploymentSyncOptions'.
I can see why that cast would be hard. ;)
But seriously - how can we get deployment from Visual Studio to work again? In the future we will do this using our CI server, and install a deployment package using MsBuild automatically on the correct web server depending on the git branch that was updated, but that is some time in the future.
I have full access to both machines so any other information need can hopefully be gathered.
You might be having beta version of web deploy on your box if you have ever installed web platform installer v2 beta. YOu can check that by
gacutil -l Microsoft.web.deployment.
If you see any 7.5.0.0 version then you have a beta version. Uninstall this version. You need to check and change this on both the client as well as the server.
Owais is right - this is very likely because you have a pre-release version installed. Rune can you please check and let me know?

Web Deployment Projects - Remote IIS Server

Background
In the spirit of continuous integration, I'm trying to automate our deployment process using a Web Deployment Project. Mostly, this has been painless. Most options were baked in and those that weren't were easy to add through the MSBuild XML interface.
However, I cannot seem to find an option for deploying to a remote IIS Server. This seems strange to me because I obviously don't want all my builds to run on my production/staging server.
The Question
How can I set up my Web Deployment project to create/overwrite an IIS Virtual Directory on a remote machine?
Notes
I am using Visual Studio 2008 and .net 3.0.
[Edit]
As suggested by x0n below, I could use MS Deploy for this. I would rather use a Web Deployment Project though, especially since we already have those set up. :)
Your best bet is to take a look at MS Deploy which is available as a stand-alone package right now at RC level. It ships with a Go-Live license, which means it will be compatible with the version shipping with Visual Studio 2010. Some info:
http://blogs.iis.net/msdeploy/default.aspx
It's a great tool - will sync remote servers, farms etc picking up missing metabase info, com objects, registry, .net components in bin or gac, databases - the whole hog. It also ships with an interactive shell and powershell cmdlets.
-Oisin

Resources