Results 1 to 5 of 5

Thread: Trying to determine which version of .NET framework is installed on my vm

  1. #1

    Thread Starter
    Lively Member
    Join Date
    May 2012
    Posts
    90

    Trying to determine which version of .NET framework is installed on my vm

    I've got a virtual windows server set up with a cloud provider. A dev on my team tells me that we are developing our web application for .NET version 4.0 because "that's what is installed on the server." I've been sniffing around myself to try and verify this and according to this help document from MSDN, it would appear that I have .NET version 4.5.1. I checked the registry values described in that document and see that the Release entry in the reg has value 378758 which corresponds to ".NET Framework 4.5.1 installed on Windows 8, Windows 7 SP1, or Windows Vista SP2."

    I'm wondering a few things:
    * Isn't 4.0 a bit old? Release date was April 12, 2010 whereas 4.5 came out in 2012 and 4.5.1 came out in 2013.
    * Is it possible to develop a web application using an old version of Visual Studio (e.g., VS 2010) and still have it run on the 4.5.1 framework on my server?
    * Is there going to be a big difference in the Visual Studio code/project developed in VS 2010 versus VS 2013?

    I'm a bit concerned my dev might be using an VS 2010 and just giving me convenient answers. I very much want to avoid delivering something to our client which is going to be out-of-date soon. I can also appreciate that there might still be some kinks in .NET 4.5 (or VS 2013).

    I'd very much appreciate some sage advice in this matter.

    Name:  net_version_reg_entry.jpg
Views: 648
Size:  20.7 KB

  2. #2
    Super Moderator FunkyDexter's Avatar
    Join Date
    Apr 2005
    Location
    An obscure body in the SK system. The inhabitants call it Earth
    Posts
    7,900

    Re: Trying to determine which version of .NET framework is installed on my vm

    Isn't 4.0 a bit old?
    It's subjective but I'd say not really. 2010 was kind of the Windows XP of the Visual Studio world. It was the one that was really nice and stable and did pretty much everything you'd want. That means alot of devs never really got round to moving to 2012 or 2013 because they didn't see a need. If your dev is using 2010 then he's not unusual. It may be a couple of years old but it still works just fine.

    Is it possible to develop a web application using an old version of Visual Studio (e.g., VS 2010) and still have it run on the 4.5.1 framework on my server?
    It should be. As a general rule MS make all their iterations backwards compatible so anything developed on a previous version of the framework should continue to work on current ones. By not using the most up to date framework he's missing out on newer features he could have used but any features he has used should just continue to work.

    Is there going to be a big difference in the Visual Studio code/project developed in VS 2010 versus VS 2013?
    Possibly. Later versions of the framework have more features and the way they "wire up" projects can be different. That means if you're used to developing projects in 2013 and you open up a 2010 project it might look unfamiliar to you because things will have been done "the old way". However, that shouldn't change what your end users see when they run the soution and it shouldn't stop you maintaining the porject - you'd just need to learn "the old way" first.

    If framework 4.0 is installed on the server then your dev is 100% right to target it. If he were to target 4.5 there is a very real chance it wouldn't work (e.g. if he'd used a feature that wasn't supported in 4.0). Of course, you could also upgrade the server to have 4.5. That way you and he could use all teh new features and any exsting solutions should just continue to work.
    The best argument against democracy is a five minute conversation with the average voter - Winston Churchill

    Hadoop actually sounds more like the way they greet each other in Yorkshire - Inferrd

  3. #3

    Thread Starter
    Lively Member
    Join Date
    May 2012
    Posts
    90

    Re: Trying to determine which version of .NET framework is installed on my vm

    Thank you so much for your response. A couple of questions.

    Quote Originally Posted by FunkyDexter View Post
    If framework 4.0 is installed on the server then your dev is 100% right to target it. If he were to target 4.5 there is a very real chance it wouldn't work (e.g. if he'd used a feature that wasn't supported in 4.0). Of course, you could also upgrade the server to have 4.5. That way you and he could use all teh new features and any exsting solutions should just continue to work.
    This is precisely the question I was asking. Doesn't the screenshot above clearly indicate Release=378758 which, according to this MSDN document means ".NET Framework 4.5.1 installed on Windows 8, Windows 7 SP1, or Windows Vista SP2?" Unless I'm mistaken it seems clear that 4.5.1 -- and NOT 4.0 -- is installed on the server. Our developer has expressed that his primary reasons for choosing to develop for 4.0 with VS2010 were:
    a) The Server has VS2010 installed on it
    b) The IIS application pool is configured to use .NET framework 4.0

    I'm not certain, but I believe this dev installed IIS on the virtual machine. Is it not an install option for IIS to choose the .NET framework one wants?

    As for 2010 vs 2013, the fact that 2013 has new features doesn't seem critical for this project. I'm more concerned about reaching the point where Microsoft no longer supports the .NET framework we have chosen. I have in the past been involved in project that are simply rewriting old VB6 code as new .NET code. It's really unfortunate to see this sort of thing happen to a company as it's very expensive to rewrite one's entire codebase. I would like to spare our clients this problem as long as possible. Is there any pattern to how MS deprecates support for old .NET frameworks? Will choosing .NET framework 4.5 instead of 4.0 gain us those 3 years between VS2010 and VS2013?

    Any help/thoughts would be greatly appreciated.

  4. #4
    Super Moderator FunkyDexter's Avatar
    Join Date
    Apr 2005
    Location
    An obscure body in the SK system. The inhabitants call it Earth
    Posts
    7,900

    Re: Trying to determine which version of .NET framework is installed on my vm

    4.5.1 -- and NOT 4.0 -- is installed on the server
    The Server has VS2010 installed on it
    Both could be true. VS depends on the framework, not the other way round. That means VS just requires that the framework that's available is the version it needs or higher. So it's possible that the server has the 4.5 framework on it but VS2010 has been installed as a development enviroment. Mind you, that also implies that development is being done directly on the production server which probably isn't the best idea but it might be valid for a small "rough and ready" set up.

    The IIS application pool is configured to use .NET framework 4.0
    I'm afraid I know nothing about that side of things so can't comment. Again, though, just as you could upgrade the framework (though it sounds like you may not need to) I imagine it's pretty trivial to change the framework IIS is optimised for so it sounds like a bit of a hollow argument to me. But, as I said, this isn't an area I know much about so hopefully some else will contradict me if I'm wrong.

    I don't think your dev has said anything that's actually wrong but, I agree, it does sound a bit like he might just like working in 2010 (or maybe doesn't want to pay for an upgrade - if he's an indie that's not cheap) and is just giving you convenient answers as you expressed in your first post. If that is the case it's not very professional but there's no real harm in it so I personally would let it slide - it's a battle that's just not worth bothering to fight.

    From you last paragraph I'm starting to see where your concerns are coming from but you can put your mind at rest. .Net wasn't backward compatible to Classic VB so that move did represent a considerable pain point for customers who had Classic apps in situ. But the .Net framweworks are backward compatible. To my almost certain knowledge an app written against framework 1 will happily run on a machine running the 4.5 framework. If there are a few bits of functionality that have been dropped they'll be edge cases and an update to bring it in line would be pretty trivial. The tools for upgrading between frameworks are very good too. It's usually just a matter of opening the project in a newer version of visual studio and letting the upgrade wizard do it's job. You're certainly not in a world where you'd have to rewrite your entire codebase like you would moving from Classic to .Net. So you can be confident that your dev's code will continue to run for as long as .Net is .Net.



    edit>Here's a good article on the backward compatabililty of framework 4.5. The key sentence is:-
    "The .NET Framework 4.5 and its point releases are backward-compatible with apps that were built with earlier versions of the .NET Framework."
    Last edited by FunkyDexter; Nov 5th, 2014 at 03:38 AM.
    The best argument against democracy is a five minute conversation with the average voter - Winston Churchill

    Hadoop actually sounds more like the way they greet each other in Yorkshire - Inferrd

  5. #5

    Thread Starter
    Lively Member
    Join Date
    May 2012
    Posts
    90

    Re: Trying to determine which version of .NET framework is installed on my vm

    Thanks for your detailed response. It totally jibes with my additional conversations about the issue. I'd give you more rep but cannot until I spread some around.

    As it turns out, I have convinced the dev to switch everything to 4.5 which was not especially difficult this early in the project. That 2-3 year difference between release dates of 4.0 and 4.5 seems significant to me and it's easier to change this early in the project than try and do it later.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width