Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
There's a lot of buzz around C# 6
However, I wanted to know that if they work in asp.net and asp.net mvc?
I mean, C# 6 cannot just run in framework 4.5 (Or can it?)
Should we use C# 6 for backend of asp.net/(mvc), because mostly all doesn't have private servers.
So, should we wait for hosters like godaddy to upgrade their system, before we could use much anticipated c# 6?
The preview-release of the C# 6.0 compiler is just that - a compiler. It doesn't target a new version of the .NET Framework. As such, there's nothing new that needs to be installed on your server - you just compile your code with the new compiler, upload it, and you're done.
Of course, this doesn't mean that all features will be available if you're not using a sufficiently up-to-date version of .NET - if you're targeting .NET 2.0, obviously you don't get to use LINQ since that was introduced in .NET 3.5.
Also, a lot of the features you've heard "buzz" about haven't even been implemented yet, even in the preview-release. They're planned, that's all. If there's a particular feature you've heard about that you're wanting to make use of, you should check whether it's even been implemented before you even bother downloading it.
The point though is that the C# compiler and the .NET framework are two completely separate things. There has not (yet) been any announcement of a new version of the .NET framework.
Another point worth bearing in mind though is that the preview-release compiler is exactly what it says - a preview-release. This is NOT the final release, and you need to be aware that features could change or even be removed from under you by the time the final release comes around. How likely that is, I can't say, and the risks involved in using new features introduced with a preview compiler for a production application are for you to weigh.
Related
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 1 year ago.
Improve this question
In C++, Either C++ code can be compiled by a compiler or used in a C++ framework like Platinum. I mean, you have the choice to run C++ independently without frameworks. The same story goes for python and other languages. But come to C# world, I think (maybe I am wrong) you have no choice to run C# independetly by a compiler; it's coupled to dotNet framework or mono. Are there other languages that behave like C# and need its framework to run? Or only C# behave that way?
I think there are two answers to this question.
The framework
I think this is just a battle of words.
Python has an interpreter and comes with "batteries included" meaning a large standard library. That interpreter and libraries included by default is python's runtime environment.
.NET is the runtime environment for C#. It for example includes the virtual machine required to run C# programs.
Please also remember that framework is just a term and it's used at many levels. For example, ASP.NET is also a framework but it's meaning is different to .NET Framework, it's a framework on another level.
Mono is not .NET Framework
It is important to point out. mono is not .NET Framework and it's a real life proof that C# is not coupled to .NET Framework.
Why C# not completely independent of .NET?
C# was created as part of and for .NET.
I want to know that if I can run C# without .Net. I want to separate the framework concept from the language.
If you look into the C# spec, ECMA 334, you'll see that it says:
Although Microsoft’s implementation of C# relies on CLI for library and run-time support, other implementations of C# need not, provided they support an alternate way of getting at the minimum CLI features required by this C# standard (see Annex C).
CLI (Common Language Infrastructure) is based on a subset of the .NET Framework, as the standard says, so C#, the language, indeed does not rely on .NET. It only relies on the things listed in "Annex C", which you can see for yourself.
However, Microsoft's C# compiler, a specific implementation of the C# language does rely on .NET.
Also note that C# with only the things listed in Annex C is not going to be very powerful. I can't even find the System.Console class there. I wouldn't think that you will be able to write any practical program with only the things in Annex C, so at a practical level, yes C# does rely on .NET very much.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I've done a bit of reading online and I'm not seeing a straight forward answer to a straight forward question. Is .NET for Windows and Mono for Mac? Maybe my understanding is off but I'm trying to figure out the difference between the two tools. Thanks in advance.
Mono was originally reimplementation of the .NET for linux. Today is much more (http://www.mono-project.com/).
There is actually funny story behind. Miguel De Icaza was working on linux email client and he loved .NET C# so much that we wanted to work with it also on linux. So he rewrite the .NET so he can wrote email client in C#. Wow.
Then mono evolved very very much all lead to the Xamarin platform (.NET cross mobile platform).
You can more read here: https://blogs.msdn.microsoft.com/cesardelatorre/2016/06/27/net-core-1-0-net-framework-xamarin-the-whatand-when-to-use-it/
.NET comes with a runtime environment that runs .NET apps on a windows based OS. It is of course produced and distributed by Microsoft. Mono is an open source version of the that which allows you to do this on Linux, Mac, and even windows.
Conceptually, the runtime seems to operate somewhat like a JRE does, in that, you can take a module built in .NET, and run it in Mono. So, it must be something like byte code that can then be interpreted and compiled to run natively (this last sentence is all speculation).
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
What are the possible ways to convert a windows form application (c# , .net) to a cross platform project?
My GOAL is have a project that can run in both Linux base os and windows.
I really like .net but it's not compatible with all OS (for example Linux) because of .Net Framework installation.
what is your suggestions?
As #paqogomez pointed out, IronPython does not take away the need for some sort of .net since, as it's stated on the website http://ironpython.net/ : "IronPython is an excellent addition to the .NET Framework, providing Python developers with the power of the .NET framework."
Since your goal is to run your existing winforms-c#-application on both, windows and linux, you might get away by just using mono (http://www.mono-project.com/).
If this doesn't work out (please refer to http://mono-project.com/Compatibility for compatability issues), you could manually rewrite your existing C# application in pure python. But then, it might well be possible to use any other unmanaged, managed or scripted language which can be used on both systems and which is either easier to translate manually or for which even automated translators exist (however, I don't know if there are any for C#).
Thinking about the last point, I did a quick websearch for "c# cross compiler" which shows some esoteric results which might be interesting for you depending on your project type.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I am planning a 3pt upgrade for our solution, and it will include an upgrade from VS2008 SP1 to VS2013 and .NET 3.5 to 4.5.1 (and also MS SQL Server 2008 to 2012) I am trying to prepare as much as possible in advance so that I can provide accurate LOEs and make the process as painless as possible. However, I haven't had any luck finding information about how to upgrade a solution from VS2008 to VS2013. For anyone who has done this before, are there any guides you found useful or problems that you faced that you wish you had addressed before hand?
Without knowing much (really anything) about your project, it is going to be very hard to give you a straight answer. However, I can say this. Microsoft has prided itself since day one on its backwards compatibility. Simply opening the project in VS 2013 will trigger the upgrade process for the actual SLN. This is usually quite painless. Once this is complete, you are still able to target .NET 3.5, so you don't have to make the jump from VS2008 -> VS2013 && NET35 -> NET451 at the same time.
The framework itself shouldn't present you with any serious issues, however any referenced 3rd party dlls can cause (sometimes serious) issues. They may not be maintained anymore, may have changed names, or simply do not exist. In this case you will need to find a new library to do what the old one did, which will require refactoring at best, significant rewrite at worst.
None of this takes into account the features ADDED to NET45 from NET35, such as the async/await keywords and many, many, many other features.
Since your question is very vague, its hard to give you a good answer other than just do it, the update to VS2013 should take very little time, and it will tell you if you are going to have issues even building. Once you do that, it should take no time at all to change your target framework to NET45 or NET451 and find out once again, if you can even compile. Without doing either of those, you cannot possibly estimate the level of work required. Then you still have to do all of your testing to see if something changed at runtime.
The problem is not upgrading from Visual Studio 2008 to 2013, because you can still run and compile .NET 3.5 applications in Visual Studio 2013 just fine. The real time consuming process is migrating from .NET 3.5 to 4.5.1 which can be short or long depending on how large is your application and what technology you use.
Usually, .NET 3.5 is very forward compatible.
Changing from one runtime to another (3.5 to 4.5) is simply a matter of changing a setting in your Project (Target Framework).
Be aware that .NET 4.5 is not supported on Windows XP. If your solution needs to run on XP you need to stay on .NET 4.0 or lower.
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
I wish to learn ASP.NET and found some good videos about it. But the thing is that they are for version 2.0 of the .Net Framework. Has ASP.NET changed drastically from version 2.0 till 4.0?
I would say that you should focus your effort on 4.0. When 2.0 was released Ajax started to go mainstream due the wow factor of google maps, data binding was without Entity Framework or Linq and deployment was more copy and paste. All the tutorials you need can be found on here: http://www.asp.net/web-forms/tutorials
Ofcourse there will be new features added in the newer versions. But the 4.0 version supports all(i guess, or most of the stuff) the features available in the previous versions. So learning 2.0 version will not harm you. Once you get a basic undestanding of the ASP.NET( which you can easily get by stydying 2.0), you can look into the new features introduced in the newer versions.
Here's a documentation of the ASP.NET 4 breaking changes
Also take into consideration that there have been some changes to the validation mode