Visual Studio Workloads shared accros versions? - visual-studio

The question I have is more to see if I'm able to save 25GB of hard drive space. I currently have 2022 Version of Visual Studio Community installed, though the engine I'm working in requires 2019 to be installed. how ever I have all the same required packages installed in 2022 version. (the engine for some reason does not want to use the newest version of VSC and is trying to force me to revert back) so if I install the previous version will the workloads installed with VSC 2022 be used in VSC 2019 or must I install the work loads independently of each VSC edition in order for me to use it properly ? If they are able to use the same workloads am i required to connect them in some way? if they are not able to read the same workloads, is there a way to get it use the same sources?
TIA.

Visual Studio's installation is authored with two types of packages: "standalone" or shared packages, which are typically independent MSIs that are installed in a shared folder, or a component-specific location; and "per-instance" packages which are installed into the VS install location.
The former group is basically what you're asking for. However, different versions of VS may install different versions of those shared packages (e.g. VS2022 may have a newer version of a standalone component than what VS2019 shipped with, and both will get installed). The goal though is that as long as they use the same version, it will be shared.
The latter group is not shared, usually because they are tightly coupled to other Visual Studio components and attempting to re-use them across arbitrary versions of VS could lead to weird runtime behaviors.
So, to a large extent, VS does what you're trying to do, as much as it can (according to the people that create each component).

Related

Issue installing Microsoft Viual Studio Community edition v2017

I've been trying to install VSCommunity Edition for the last few hours with no luck. If you check the screenshot attached. You'll see that I can change the directories for installation for the first 2 requirements, but im unable to change the directory for the 3rd option (the SDK install along with others) which just happen to be the very large percentage of files. It's wanting to install over 45gb of files on my C Drive which is just a 50gb SSD.
enter image description herehttps://i.imgur.com/burFR90.jpg
I want to switch to D, and the only thing i can see fro any of the Microsoft help docs and posts is "You can change this upon fresh installation".
Which this is. I've uninstalled anything else remotely like it just to be sure.
Do any of you have any ideas or any experience with this issue, or anything i can try? I simply don't have enough space to install on C, and because of this, i can't start learning c# which is required for work.
Thanks so much in advance guys, it's really getting me worried now.
Although I can only guess why Visual Studio is locking down the SDK path, here's a few workarounds and recommendations:
In your screenshot, the installer warns you about possible performance effects of installing Visual Studio on your D drive. I assume this is because your D drive is not an SSD. Microsoft's Visual Studio system requirements document recommends that you install to an SSD, and based on community experience, this is one recommendation you really want to stick to, otherwise IDE responsiveness may be well below your expectations, especially if you decide to install extensions in future.
Instead, you might want to reconsider the set of components that you're installing. If you're only getting started with C#, you'll probably be just fine with developing class libraries, console and web applications targeting .NET Framework or .NET Core. If this is the case, you might want to go to the Workloads tab in the installer and opt out of some of the heaviest workloads (such as Mobile development with .NET). Consider only installing .NET desktop development, ASP.NET and web development, Azure development and .NET Core cross-platform development. If you only select these, your installation is going to be much slimmer.
If minimizing Visual Studio installation as shown above isn't enough, consider an alternative way of setting up your .NET development environment. For example, you can download and install .NET Core SDK and .NET Core Runtime, and use one of the two most prominent alternative code editors: Visual Studio Code or JetBrains Rider that are both quite compact.

How do I install an older release of Visual Studio 2017?

I brought up a new VS2017 dev environment at work yesterday, which means I got the recently released version 15.3. I'm getting an internal compiler error on a VC++ project that nobody else in the organization is getting; everyone else is still on 15.2. To test my theory that the 15.3 update may have broken something, I want to install VS2017 15.2 (or even 15.1 or 15.0). But I can't figure out how to do that. When I run the 15.0 or 15.1 bootstrapper, it still tries to install 15.3.
I've already gone over this guide for creating offline installations but it doesn't say anything about getting an older release. I found a guide here that shows how to use a specific release with VS2015, but I can't find anything for VS2017.
My work gave me an MSDN account (Visual Studio Professional), which offers older bootstrapper downloads, but does not offer full offline installation downloads for older releases.
How do I install VS2017 15.2 (or 15.1, or 15.0) when 15.3 has already been deployed by Microsoft?
There is support for downloading a prior version, but evidently you have to contact support for the link. None of the links on any of the pages I could find within the VisualStudio.com site referenced it.
Installing an earlier release of Visual Studio 2017
Be sure to take the time to read the "[no]support policy" regarding "earlier" releases. Essentially, the day they released version 15.4, version 15.3.5 was no longer supported.
On another note, I have noticed many people seem to respond (here and on other similar postings) along the lines of "Why on earth would you want to reinstall the same version you were working with instead of the latest release?". Note that I am para-phrasing that to clarify the sentiments commonly expressed.
The reason is because TEAMS of developers need to be on the SAME version of the tool set. They have deadlines and cannot afford to drop everything and switch everybody to a new version of the tools that may or may not work correctly for them. Even if the developers were willing to take that hit to their productivity, usually their managers are not. This is why taking away the option to install the previous version the very same day you make a new release available is an unacceptable practice for Enterprise or Professional grade development software.
Another common reason is that when bugs have to be fixed in software, you often need to use the same, or very close to same, version of the tools to rebuild it after fixing the bug. The costs of regression testing after forcing a non-trivial upgrade on an entire software product or suite is unacceptable to most organizations. Upgrading may not even be an option due to contractual obligations.
It seems that based on this article that Microsoft do not offer a mechanism to download any version of Visual Studio 2017.
The https://my.visualstudio.com site offers bootstrap downloaders for 15.0 and 15.3 only. Intermediate versions such as 15.1 and 15.2 are not available as of September 2017.
I have a modest sized engineering team that would quite like to stay with 15.2 even for new starts and this is quite frustrating as we didn't capture an offline install of anything other than 15.0!
Apparently its possible to install a older version in parallel to a newer one. I just downloaded 15.6.7 from https://learn.microsoft.com/en-us/visualstudio/productinfo/installing-an-earlier-release-of-vs2017 and started the install - it didnt touch my existing installation 15.9.19
But the probably better solution is just to install the toolset which is available separately for each VC2017 release. See this intersting article:
https://devblogs.microsoft.com/cppblog/side-by-side-minor-version-msvc-toolsets-in-visual-studio-2017/

Storing Windows SDKs in source control?

The question is at the end - let me start by posing the context:
One of the problem we are facing at work when using Visual Studio is to make sure that everybody on the team is using the same version of the SDKs.
A typical problem would be to have somebody use a different Direct X SDK version resulting in a different behavior of the code, or somebody upgrading to a more recent Platform/Windows SDK in order to use some new API and having the code fail on other's programmers machines if they still use the previous version.
A way we used to solve the issue for other middleware has been to put the whole set of libraries, include files, tool chains, etc... in our source control system, and have our projects to use these so nobody has to install anything.
We also managed to do that with earlier version of the Direct X SDK, but we always ran into issues with the Windows/Platform SDK due to the close links between the SDK and the toolchain.
Since we now have to support both VS2010 and VS2012, and have to support from Windows XP to Windows 8 targets, we have to support v100, v110 and v110_xp toolsets.
This means that we need all the associated compilers and the corresponding SDKs, both on our developer machines and build systems: This is getting ridiculously costly to maintain, specially considering that random windows updates and .net framework releases routinely tend to break msbuild.
So the question is:
Is it possible to have Visual Studio to use non installed toolsets and SDK and instead having it use whatever is available in some folder out of the normal VS installation locations?
Bonus question: If it is doable, is it possible to do that without having to change any locally installed configuration file on the machine - ie: Have all that in the solution/project or property sheets - so if we change the structure on the source control system we don't have to update every single machine?
Thanks :)
This sounds too complicated, given how complex some of these tool installations are. I would solve this problem by investing in some PowerShell scripts that look at the installed tools and tool paths and "police" the installations. It would be relatively easy to check for installed versions of everything, including patches and updates. You can run those nightly, or as part of a build. Also, you can compare aspects of different installations, such as the tool versions installed on a developer box with your build server.
This would give you 90% of the value for 10% of the pain.
The problems you describe are not solved with your approach. What you actually need is a build server and a definition of done including using binaries built with the build server. You also need a test suite as part of the build definition with some invariants related to the build environment used.

Visual Studio v2003, v2005, v2008 and v2010 existing on the same system

I currently have Visual Studio v2003, v2005, v2008 installed on my system. Things work fine...no issues.
I now have to install Visual Studio 2010 on my system and just wanted to know if anyone has a setup like mine or knows if there are any potential issues with so many versions existing on a system.
Really don't have a choice to remove older versions as we have a lot of legacy products written in these old versions and we are not upgrading them to new versions, only doing bug fixes on them.
Any ideas?
Thanks!
VS2010 supports targeting on multiple versions of .NET Framework (i.e. 2.0 or later), which mean it is designed to support the projects that were built with VS2005/VS2008 so-called backward-compatibility.
So I think no conflict here between these versions,
I've found a nice Myths and facts about VS 2005/2008/2010, check out this link here: http://msdn.microsoft.com/en-gb/ee679805.aspx
It should work.
I have vs2003, vs2008 and vs2010 installed and I see no issue (but vs2010 is not yet used for production code).
M.
All these versions of Visual Studio are independent.
You should have no problem (other than lack of disk space!) installing VS2010 as well.
Just make sure you install the service pack as well.
They cohabitate fine, I have a similar setup myself.
You should at least push for migrating away from 2003 and 2005 though, they use some pretty old technology, and pretty much everyone these days has .net 3.5 on their systems.
If you are able to use VS 2010 I would highly recommend you do for all new projects - even if you have to target an earlier version of .NET framework.
Keep the old versions of VS installed only for maintenance of projects that cannot be migrated to VS 2010 version.
By the way, the migration to VS 2010 is often very trivial and well worth an hour or two of effort!

Installing multiple versions of Visual Studio Team Editions on the same machine

Does anyone have any experience with installing multiple versions of Team edition on the same machine? For example Team Developer and Team Architect at the same time? Is this possible? Do you have to open one version vs the other? Or do you end up with one installation with all the versions installed on top of each other.
You can happily install multiple versions. When you install the second one it simply add the features into the same Visual Studio 2008 instance meaning you get the features of both in the same instance of the IDE.
That said, the way licensing works it is usually cheaper to purchase Visual Studio Team Suite (which includes all the features) then purchasing 2 seperate SKU's.
My guess will be that each new installation will overwrite the previous in your instance. See this:
With Team system being on one level, my guess is only one can be installed.

Resources