ASP.NET MVC, MonoDevelop and Windows [closed] - asp.net

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

Related

Developing ASP.NET application for a Linux Server [duplicate]

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.

What limitations (if any) would I face developing asp.net on OSX? (in 2015/2016) [closed]

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
I'm a diehard mac lover but my day to day work is shifting towards the .net stack, specifically c#, asp.net mvc, entity framework, multiple project class libraries, ms test, sql server, deployment to azure.
In light of the recent cross platform advancements in .net, what issues (if any) would I face now and later on as I get deeper into development? Is anyone else doing this?
I've installed VSCode (https://code.visualstudio.com) and am able to build and run an asp.net mvc web app using coreclr. That seems to work very well and is closer to the web development experience I'm used to on a mac. I understand I also get vs.net style debugging with VSCode but I've yet to test that.
SQL Server I realise will be a problem, I'm considering either running it in a VM or using a cloud based dev instance.
I've also trialed running full vs.net in a VM but on my 13" MBP i5 8GB it gets a tiny bit sluggish at times under VMWare Fusion, so not ideal. VSCode also gives me a dev experience much closer to what I've been doing previously from my mac (simple text editor, terminal etc) so I prefer that anyway.
So, can I do this? is cross platform .net ready for mid sized asp.net apps? what problems may I run into? I appreciate any feedback.
Since you've already installed VS Code on your Mac, you already know that you can work on ASP.NET projects natively on your Mac. Just keep in mind you can run the cross-platform .NET Core 5 on your Mac, but not the full .NET Framework. So, if you need to work on any projects that need the full framework (such as .NET 4.x), you will need to use Windows. It doesn't matter if it's small, midsized or large enterprise apps.
As you suggested, you can run Windows on your Mac. But instead of VMWare, I would suggest Parallels instead. Running Windows on your Mac will allow you to run the full Visual Studio with the full .NET framework if that's what you need. It would also let you run SQL Server on Windows inside your Mac.
Hope that helps! :)

Can't find ASP.NET Design View for MonoDevelop

I installed MonoDevelop and want to use its design view editor. After a bit of browsing I came accross ASP.NET Visual Designer which is supposed to be a part of the IDE. I used the Ubuntu Software Center to install the MonoDevelop application, so I guess it should have downloaded the latest version.
Here is the extract from the mono develop website.
AspNetEdit does not aim to be a complete IDE. After being developed as
a proof-of-concept standalone editor, it now has been integrated into
MonoDevelop
How can I switch to the designer view?
After opening the IDE I am unable to find the designer view anywhere. Do I need to install some kind of a add-in for this?
Monodevelop lacks a lot on this area. A lot of developers, like me, don't use visual designer a lot but I consider important for some people. MD don't have it and also html/css editor is very limited right now but improvements are planned (a lot of cool stuff).
MD as been evolving fast these days but more focused on MonoTouch.
For now you could use and external html/css editor for now. I still use Visual Studio 2010 for this.
AspNetEdit can install by Add-ins from http://mjhutchinson.com/files/md/main.mrep

ASP.NET 4.0 and VS2008?

Will VS2008 be able to develop ASP.NET 4.0 applications when it is released?
I would hate to have to go buy VS2010 just for a couple of features I'm looking forward two like Dynamic Data and session profiles.
You can develop .NET applications without Visual Studio at all, so you could use Visual Studio 2008 as a helpful tool in that regard but looking at the previous Visual Studio releases, it's very unlikely that you'll get first class support for .NET 4.0 features. Personally, I think the short answer to your question is "No."
By the way, ASP.NET Dynamic Data is already available in .NET Framework 3.5 SP1 and VS2008 supports it.
No, you will require Visual Studio 2010.
It may in theory be possible to do some hacks with MSBuild like there was for .NET 1.1 from VS2005 but it'll be completely unsupported, your intellisense wont work right, etc.
You don't need to buy VS2010, you can just download the free Express versions, likw with previous releases.

How to make visual studio 2008 ASP.NET designer faster?

Visual studio designer for asp.net applications is generally very slow and i would like to know if there are any tips or guidelines for settings in order to get better.
The problem is usually noticed when i try to make a change in design or source view, especially in source view it may get non-responding for a couple of seconds.
I experienced a very similar issue when I first installed Visual Studio Team System 2008 Development Edition. I have issues with VS design view and could not switch to "Split View"
Reference the following ASP.NET thread link to see if any of this information helps..(Warning: It is quite long).
Do you notice any difference when starting in Safe Mode?
devenv.exe /SafeMode
I assume that you have already installed the hotfix for VS2008 ASP.Net Designer performance issues? Link

Resources