Porting Mono to .Net - asp.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.

Related

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

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.

Can I use the Mono Framework and .NET Core on the same machine?

I want to code games in Unity, but also want to make some apps with .Net Core.So, do I have to reinstall visual studio every time I want to switch between the two?
Yes, just like you can have multiple versions of .net installed
I think it's OK, as long as unity is associated with visual studio, the specific steps are: Edit→preference→External Tools→External Script Editor, find the visual studio installation path and configure it

Is it possible to run a ASP.NET web project created in VS2015 on VSCode OSX?

Thank you for the help in advance.
I'm used to developing asp.net web projects in visual studio for windows. With the new asp.net open source, I'm trying to develop on my mac. I already set my development environment and run the boilerplate. My question now is, can I import a traditional project developed in vs and in some way adapt to run and continue developing in Vscode and dmx?
Yes... So long as it's based on .Net Core.
.Net Framework 4.5, 4.7 etc is most definitely not cross platform and requires Windows and, more often than not, IIS to run.
So I suppose the real answer is, it depends.

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.

Do a Windows application ifself contain the .NET framework?

I have a Windows application which contain a deployer.
Does the deployer itself contain a copy of the .NET framework?
Or do we have to explicitily install it?
When I check in the solution explorer, it shows the .NET framework under the deployer project under detected dependencies?
My Windows application connects to the Internet to validate for a registered user. Do I need to configure some port (or something like that) while I am installing it? Also how do I check which port my application uses to connect to the Internet?
Regarding #1, just as Xstahef said, you need to prerequisite the .NET framework.
You could put the .NET redistributable in your installer, and if you detect that the .NET runtime is not installed then prompt the user to run and install the .NET distributable contained in your installer (that's what we did some time ago, InstallShield provided this functionality for us). But this may not be recommendable: the .NET runtime has grown a lot in size (depending of the version you need to have in your client's machine), and many customers (at least the educated customers) won't trust installing the runtime from your installer. Besides, you may need to check with the legal department in your company before including a third-party component in your installation.
It depends on your deploy project (Visual Studio, InstallShield?). But commonly, you need to force the .NET installation (prerequisite option). By default, .NET is not contained in the deployment projects.
Here, it depends on the way you want to connect the Internet.
.NET runs in a VM, so you would need to require the framework be installed in order to actually run it. Much like you need to have Flash or Java for those respective mediums. Microsoft has redistributable packages for the .NET framework. So you could probably incorporate them into your installer. If you're targeting 1.1 or 2.0 most people probably won't need it.
So long as you are not trying to get in to the client machine then you shouldn't need anything special like UPnP to [attempt to] open a port if they are behind a NAT router.
Xenocode does allow to running such an application on an absolutely clean PC.

Resources