It is possible to debug an asp.net WebForms application on MacOS using Visual Studio 2022? - asp.net

Current scenario is that I have this macos laptop (Apple M1 Pro processor) in which I was working for the last 8 months on react under visual studio code. Now, in a new project I need to leverage some API's and a lot of JSON responses and I wanted to debug the code but I saw that it is just not possible. I came across this old article ASP.NET Mono Setup
but I still feel that I won't be able to have the same level of developing experience like in a windows machine.
So, question is, can I (and if the answer if yes) debug an asp.net webforms app on visual studio 2022 for mac? If not, I would need to ask for a laptop replacement.
Thanks in advance!

Only the .net core runtimes are platform neutral.
But, the .net 2-4.8 runtimes are not.
One MIGHT be able to play and mess around with mono, but at the end of the day, I suggest you go with a VM (virtual machine),and run windows.
In other words, you don't need a new laptop, but just use a VM and install windows on that VM.

Related

Is Possible to Run Multiple Versions of Crystal Reports Runtime on the Same Server?

I am using Visual Studio 2017 to develop an ASP.NET Core application which uses the version of Crystal Reports that's on SP22. I will be deploying this application onto a Windows 2008 Server which already has another ASP.NET application which uses the version of Crystal Reports that's on SP17.
If I install the SP22 runtime on that server, will my existing application break or will they be able to run side by side without issues?
This article talks about installing multiple versions of Crystal Reports for development purposes, but that's not that what I'm asking here. I'm talking about runtime only, not development.
This question says we can install multiple Crystal Reports runtimes without issues, but it's too old and I'm wondering if things have changed since then. Especially since my existing application targerts .NET framework 2.0 and the new one will target .NET Framework 4.7.1
This question, asked here about 4 years ago, still leaves me in the dark.
As I understand, the .NET CLR 2.0 is no longer supported by Crystal Reports (see this document, page 9). My existing application uses that runtime and I can not update it right now, thus I need to make sure that installing the new Crystal Reports runtime (the one on SP22) will not break that application.
Is it safe for me to install the latest Crystal Reports runtime on the Windows Server without fear of breaking my existing application?
Note: I asked this question in the Crystal Reports community last week and have gotten no response. I was hoping someone here would have some experience in the matter and would shed some light.
Thank you
The article from SAP supports you pointed out https://apps.support.sap.com/sap/support/knowledge/public/en/1216278
applies not only for development purposes; it clearly explains which version can be installed on the same computer without issue :
Basically : each major can be installed on the same machine , but only one version of each major , since Crystal Reports 9.
So, if this is correct, you should not face any issue. I recommand nevertheless that you try before (test server, VM...) modifying your production server

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 is the easiest and least expensive way to make an ASP.NET MVC project on a Mac?

I've made ASP.NET MVC projects on my work PC, and I have a Mac at home and want to be able to dink around in my free time. I downloaded Visual Studio Code (https://code.visualstudio.com/docs/ASPnet5#VSCode) to try and do this, but I got stuck at part of the instructions and I'm not sure it's even possible to deploy it from there to Microsoft Azure. I also don't want to have to download Boot Camp and Windows, if possible. Are there any options?
I have been in the exact same position as you, unfortunately there is little that we Mac users can do. As ASP.NET was developed by Microsoft they left little room for compatibility with other platforms
Installing Visual Studio Code is the only option for Mac however, all is not lost for we have Git! If your not sure what that is; Git is an open source distribution system which is freely available for anyone to use, allowing others to access and even edit your code.
To get back onto the topic at hand, VSC uses Git repositories to push your source into the Azure platform. Take a look at this site:
http://docs.asp.net/en/latest/tutorials/your-first-mac-aspnet.html
This is some instruction for ASP.NET development specifically for Mac mainly, it tells us how to activate the Git functionality and how that incorporates to Azure. Hopefully it helps you figure out your issue!
Found these two interesting articles using a combination of Yeoman and Kestrel:
Develop ASP.NET vNext applications on a Mac
Your First ASP.NET 5 Application on a Mac
Basically, you can use Yeoman to get the project scaffolding, VS Code or Sublime Text to edit source code and Kestrel to run your project.

Porting Mono to .Net

I have a project that needs to be done using ASP.NET. Currently, I'm using a Linux box and don't have an access to Windows so I was wondering about doing the development in Mono.Net for the meanwhile. The final project needs to be completed on the Microsoft.NET.
How easy would it be to port a Mono.NET application to a Microsoft.NET? Or should I just wait till I get the windows machine? I don't mind an occasional challenge but not if it's going to be a big pain.
It should work fine just make sure you use the Microsoft .NET APIs only or keep track of any Mono or other opensource DLLs and include them when you run on Windows.
MonoDevelop could also help as it creates Visual Studio compatible project files which can help your migration if you want to later migrate to Visual Studio also.

Visual Web Developer Express and .NET, et al

I'm coming from the open source world, and interested in giving ASP.NET a spin. But I'm having a little trouble separating the tools from the platform itself in regards to the licensing. I've downloaded Visual Web Developer 2008 Express, but not sure how different this is from one of the full-featured Visual Studio licenses -- and whether or not my Express license will prevent me from using all the features of ASP.NET.
Is a Visual Studio license just an IDE, or does it include pieces of .NET not available to the Express license? What about the other tools like IIS and SQL Server?
Thanks.
All of .net is available in the .net SDK, so in theory you will not need Visual Studio at all.
Now, there are some things that Express will not do. For example, the Database Designer is not very comprehensive and adding different remote databases is not or only very hardly possible. Still, in code you can connect to everything.
There is also no Remote Debugger, no support for creating Setup Files (well, that does not apply to ASP.net anyway), no real Publish Web Site Feature (although that can be added manually as it's just a Frontend for a SDK tool), no integrated Unit testing (and Microsoft loves to threaten people who add it), etc.
For a full comparison, see here:
Visual Studio 2008 Editions
But as said: Functionality of .net is all in the SDK, Visual Studio is just making it a bit easier to work with.
Visual Studio is just an IDE, you can do all your .NET development with the SDK and notepad if you choose. In fact there is something to be said for learning it that way so you understand better how the pieces fit together!
Microsoft have a version comparison matrix available so you can see exactly what is included each version.
IIS is a Windows component and considered part of the OS, there is nothing else to buy.
SQL Server comes in many flavours, SQL EXpress is free to use and whilst limited compared to the versions you pay for, it is more than enough to get started with ASP.Net
Visual Studio is the IDE and does not include the platform.
IIS and SQL Server are separate products. IIS is available as part of the windows install and the version is different depending on what version of Windows you are using.
SQL Server also has an express product which is not as full featured as the Full versions of SQL Server, yet it is still rather valuable and useful especially for learning purposes.
You can learn a lot from the free tutorials found on asp.net.
Visual Studio is just the IDE. You could theoretically create every file in Notepad and compile manually with just the .net framework.
IIS is an operating system feature, and SQL Server has different flavors with different capabilites.
SharpDevelop is a Open Source IDE for C# and VB.net

Resources