I hate to ask a question that seems like it should be easy to find the answer to on the web, however I am unable to find a straightforward answer anywhere as to how to check what version of ASP.NET is installed on my Windows Server 2008 r2. Any help with this would be much appreciated. Kind regards, Jon
Read registry key, HKEY_LOCAL_MACHINE\Software\Microsoft\InetStp\Components\ as documented in
https://learn.microsoft.com/en-us/iis/install/installing-iis-7/discover-installed-components
As you use IIS 7, its "ASP.NET" feature matches ASP.NET 3.5 you are looking for. If you want to check ASP.NET 4.x, then this approach won't work.
Generally speaking, the ASP.NET component in IIS wraps over aspnet_regiis command line tool to register ASP.NET bits on IIS (ISAPI and so on). Microsoft designed it this way so it felt more natural. However, it turns out to be a disaster later, as .NET Framework new releases can easily break the design.
For example, on IIS 7 if you use ASP.NET 4.x then you have to manually run aspnet_regiis from .NET Framework 4.x installation folder, as there is not ASP.NET 4.x component on IIS 7.
You can go to
C:\windows\Microsoft.NET\Framework
and check if there is v3.5 folder
This question's answers are a community effort. Edit existing answers to improve this post. It is not currently accepting new answers or interactions.
For a developer with a Java background, I am interested in exploring software development using the ASP.NET tools/platform as well.
Java web applications (.jsp and servlets) can run on many server platforms.
Question: Will a .NET web application be able to run in a Linux based server? Considering the scenario of not being able to use a Windows server for hosting a web app.
So I know this is an older question but I think it could stand an updated answer.
Microsoft has officially released asp.net vnext and its open source and deploy-able to both Linux and Mac. Its all still pretty new but does rely on the latest builds of mono and thus currently needs you to compile the mono-framework but in time I suspect that it will be easier to access as various linux distros release updated versions of mono. This is a how to setup guide
This information may be somewhat volatile and with updates is due to change.
Update ASP.NET CORE 11/10/2017
asp.net vnext is now known as asp.net core.
asp.net core is being treated as a high priority in Microsoft due in part to its use with microservice architecture and docker and container technologies
It has become much more compatible with existing .net libraries due to .net standard 2.0.
It performs well when compared to other technology stacks such as go and node.js
It depends what specific .NET technologies you're using. The Mono Project provides an Apache module (mod_mono) for running ASP.NET sites, and from what I gather it works well.
Mono doesn't support all the .NET APIs, though - notably WPF (and possibly WCF too, I can't remember) - but it does provide good support for much else of the framework.
If you're starting from scratch and particularly want to target non-Windows servers, then ensuring your project works with Mono would be a good goal to aim for. However, if you need particular APIs or language features that are not supported by Mono, then you will need to use a Windows server for deployment. It's a design-time/architectural choice that should make up front.
You might want to consider this guide that helps Windows developers port their code to Mono/Linux:
Guide: Porting ASP.NET Applications - Mono
I can speak from experience. Even if your ASP.net website only uses .NET libraries supported by Mono you are going to have a hard time getting it to run if its anything beyond Hello World.
You won't have to re-write much code but you will spend hours/days/weeks dealing with little issues with mod_mono/xsp/apache configuration and file permissions and error handling and all the little things that go into a large website. (Be prepared to spend a lot of time asking questions on serverfault :) )
The problem is that a lot of people don't use Mono for ASP.net websites and so there aren't as many people reporting bugs so a lot of things that are minor bugs go un-fixed for a long time.
Now you can publish ASP.NET 5 app to Docker on Linux with Visual Studio. See the below post from Scott Haselman
http://www.hanselman.com/blog/PublishingAnASPNET5AppToDockerOnLinuxWithVisualStudio.aspx
Since the technologies evolve and this question is top ranked in google, we need to include beyond the mono the new asp.net core, which is a complete rewrite of the asp.net to run for production in Linux and Windows and for development for Linux, Windows and Mac:
You can develop and run your ASP.NET Core apps cross-platform on
Windows, Mac and Linux. ASP.NET Core is open source at GitHub.
Yes we can. get familiar with Mono Project and read this article to get started.
For ASP.NET on Linux, check out Mono.
That said, thousands of sites run on Windows Server without any issues. A poorly-configured server with any OS will be vulnerable; Linux won't save you from a poor admin.
So I guess my "best practice" for deplying an ASP.NET app would be to use Windows Server 2008 (likely Web edition). And hire a good administrator.
You can use Mono to run ASP.NET applications on Apache/Linux, however it has a limited subset of what you can do under Windows. As for "they" saying Windows is more vulnerable to attack - it's not true. IIS has had less security problems over the last couple of years that Apache, but in either case it's all down to the administration of the boxes - both OSes can be easily secured. These days the attack points are not the OS or web server software, but the applications themselves.
dotnet is the official home of .NET on GitHub. It's a great starting point to find many .NET OSS projects from Microsoft and the community, including many that are part of the .NET Foundation.
This may be a great start to support Linux.
Now a days .Net is run in multiple platforms,like linux ,Mac os etc.
but mono is not fully platform independent ,Because to deploy .NET in another OS required
third party software.so it is not like java platform independent.
Mono is running in different platform ,because of JIT is there in different os.
Mono is not fully success in moonlight(silver light in .NET) .Not only Research is going on.
Mono uses XSP2 server or apache . some of the big companies are using this project,Some of the robotic project are also running on mono.
For more details http://www.mono-project.com/Main_Page.
There is the Mono Project from Novell that will allow you to run ASP.Net on Apache.
http://www.mono-project.com/Main_Page
The Mono project is your best option. However, it has a lot of pitfalls (like incomplete API support in some areas), and it's legally gray (people like Richard Stallman have derided the use of Mono because of the possibility of Microsoft coming down on Mono by using its patent rights, but that's another story).
Anyway, Apache supports .NET/Mono through a module, but the last time I checked the version supplied with Debian, it gave Perl language support only; I can't say if it's changed since, perhaps someone else can correct me there.
I want to install Umbraco 7.X.X on the Mono Framework.
https://our.umbraco.org/download
Hosting the Umbraco database on a MySQL-server and running the website under apache with mod_mono.
There are a few of old topics about this subject (founded via Google), for example this post from 5 years ago.
Does umbraco work on mono?
There changed a lot last years. Does anyone know if it's possible nowadays and how?
Thanks a lot,
Jordy
Officially it is not designed for Linux and Mono,
https://our.umbraco.org/documentation/Getting-Started/Setup/Requirements/
So either you plan to port it to Linux/Mono by yourself, or you sponsor somebody else to do so.
I am currently in process of identifying a mechanism to deploy ASP.NET websites to Linux server. I know this requires Apache to be installed on Linux, and can be achieved using Mono.
I found a lot many articles but they all are referring to ASP.NET version 5 (i believe, vNext). But couldn't find anything for a version prior to that.
Is it due to "System.Web" assembly that we can't deploy ASP.NET website on anything except IIS? I know, OWIN has replaced that in vNext.
Any help on deployment of previous versions of ASP.NET to Linux will be very appreciated.
The new version of ASP.NET, version 5, and more specifically the .NET Core, runs cross-platform. That's why there is a lot of information about running ASP.NET 5 (or vNext) on Linux with Kestrel, the new cross platform webserver for ASP.NET 5.
However, you can run older ASP.NET projects on Apache using, indeed, Mono. The official documentation can be found here: http://www.mono-project.com/docs/web/aspnet/#aspnet-hosting-with-apache and here: http://www.mono-project.com/docs/web/mod_mono/
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
According to Miguel de Icaza posts (here and here) and Lluis Sanchez Gual post (here and here) MonoDevelop for Windows will be ready soon. Personally I'm very interesed in using MonoDevelop under Windows for developing open source projects for ASP.NET MVC. Yes, it's better to work in MonoDevelop under Linux but for many reasons I can not simply stop using Windows (IIS7 is one of these reasons - today it is much better for ASP.NET than XSP).
Question N1: Would somebody ever try developing something in ASP.NET MVC using MonoDevelop on Windows when it will be released?
Question N2: Are there any advantages in using MonoDevelop on Windows as opposed to Visual Web Developer Express 2008?
Question N3: Both IDE (MonoDevelop and VWD Express) are free, but which is actually preferable/better for open source developing and why (it is very interesting for me)?
EDITED:
Yes, I am using full Visual Studio 2008 Pro and it's a great IDE. But it can not be used for open source developing - I think it is nonsense. I've actually paid for it - but I can't expect it from users of my library. So I can choose only Mono Develop or VWD Express? (see Question N3)
Thanks
N1: I tried MVC on mono-develop in Linux and that worked.
N2: There are both advantages and disadvantages. I use visual studio pro and I don't exactly know what's different in Mono-develop. I know there are some features available in mono-develop that are available in visual studio with plugins only, not in the express version.
N3: I think personal preference will decide what's better for you. I think the easiest way to find out is to download the Mono Vmware image and try it. You might have to update the mono-develop packages to use the MVC features of mono-develop. You can use the vmware image with the free version of vmware. Personally I prefer Visual Studio pro because I'm used to it and I'm addicted to resharper.
N1: I'm sure there will be plenty of folks that will try out MonoDevelop for ASP.NET MVC.
N2: If you're focusing more on a cross platform experience with your application, I would say MonoDeveop is the way to go since your apps written in MonoDevelop are sure to run on Mono. If you use Visual Web Developer Express, you're still going to need to run MOMA or some other compatibility checking application to make sure that there has been any Mono incompatible libraries/methods injected into the architecture.
N3: That's a hard call to make. I haven't tried out MonoDevelop yet, so I think it would depend on the developer experience between each IDE and see which one weighs heavier: the compatibility ease (see N2), or the development ease, and simply dealing with the compatibility testing/porting.
VisStud is so much better than MonoDevelop with all of the auto-* stuff. But there is danger in not understanding what the stud generates. My choice is to use VisStud to develop in and port to Mono periodically.
N1: I have not used MVC so I can't anything abt it yet.
N2: MonoDevelop is like pro edition of VS, but it doesn't have good designer. But lacks some important features like reports.
N3: For web my preference will be VWD but for other stuff I'll prefer MonoDevelop and SharpDevelop