Migrating shared project from VS 2013 to 2015 - c#

We have a solution on VS 2013 that contains a shared code project type (https://github.com/firstfloorsoftware/mui).
We made some minor changes in this code and it has being part of our solution for a while.
Now I want to open this project in VS 2015. Although I had a minor problem with the shared project that seems to be fixed: https://github.com/firstfloorsoftware/mui/issues/48
I still cannot get rid of the more than 5000 errors on this project. I can run it successfully, but have no idea the reason for so many errors.
One thing I noticed is VS 2015 uses a standard C# project in the solution explorer instead of a special icon indicating a shared project.
How to reproduce the problem:
1 - Download the Modern UI project from github;
2 - Open it on VS 2015;
3 - Make the fix I mentioned here: https://github.com/firstfloorsoftware/mui/issues/48
4 - Reload the shared project after fixing the project file
5 - Notice the number of errors on the error list.
Any ideas?
Igor.

It seems the issue is related to missing files during VS 2015 setup due to the choices I did during setup.
All I did was creating a new Project and choose Windows 8 template. Then the VS 2015 setup is launch and the missing packages are properly installed.
After doing that, I could open my VS 2013 Project in VS 2015 like a charm.
Igor.

Related

setup project created in VS2017 15.3 no longer supported in VS2017 15.5?

Discovered to my horror, that after updating all my Visual Studio 2017 instances to version 15.5 (from version 15.3), none of the setup projects will load and I get a message saying they are not supported. I've tried several Desktop applications, all developed in VS2017 and these setup projects won't load.
Is there any workaround to this (without creating all new Setup projects - some are quite complex)?
Ah, the issue turned out to be that the Installer Projects extension was corrupted, so I renamed my setup project, then re-downloaded/re-installed the "Microsoft Visual Studio 2017 Installer Projects" extension, closed Visual Studio, renamed my Setup project to what it was, opened the solution again & added the Setup project back to the solution.
NOTE - the other PC running VS2017 never had the Installer Projects integrated w/VS in the first place (it was more for web development), the reason why they wouldn't open.
Worked like a charm!

"C# 2017 compiler could not be created" error message while opening project

I've Visual Studio 2017 community edition. I have a C# project created using Visual Studio 2015. When I try to open the project in VS 2017 I get an error message prompt:
--------------------- Microsoft Visual Studio
Project 'dataStructureInCSharp' could not be opened because the Visual C# 2017 compiler could not be created.
Please re-install Visual Studio.
--------------------------- OK
I'm trying to obtain help if anyone else has faced similar issue. I feel going the uninstall and then reinstall route is very costly for me and would try that option last if I've got no other resort.
What I've done so far :
Tried starting visual studio with administrative privileges
But problem remained same.
I tried creating a new console project solution from scratch but in that case I get very same error and an additional error error also shown below:
System Environment: Windows 7 Ultimate Service Pack 1
You can try to close all VS 2017 instances and delete the folder %localappdata%\Microsoft\VisualStudio\15.0_xxxx\ComponentModelCache, then open VS to create a new Console project.
Or
please re-run the VS 2017 installer as administrator, click the icon beside ‘Launch’ button and choose ‘Repair’ to repair as shown below:
Just to brief the history of my problem, I had first installed Visual Studio(VS) 2017 community when it was in RC stage. This was first time when I saw the workload based UI of visual studio installation. Initially I simply chose .Net desktop development workload to get started as I was interested in creating only console applications to get my hands dirty.
Initially it was all working well. One fine day I added all other workloads I was interested in namely Universal Windows Platform Development, Azure Development, ASP.NET and web development,Node.js development, and Mobile development with .Net. I'm not sure if there any of the specific workloads to be blamed for the issue I've posted.
Just to avoid the case if RC and RTM release builds might not have messed up my entire environment, I simply uninstalled the entire stuff, rebooted my machine and installed it again from scratch from latest RTM release for Visual Studio Community.
I would strongly recommend that you first try possible solutions suggested by #Sara-MSFT before doing clean reinstall just in case if it works. It can save you couple of hours required in whole reinstallation process if it works.

Downgrading solution from Visual Studio 2017 RC to Visual Studio 2015

I have had a project in VS 2015 Update 3 with a lot of code logic behind. I upgraded it to VS 2017 RC successfully. The code implementation went on and on until getting to the point where VS 2017 RC exhibited a lot of issues and instabilities e.g. .Net Core DLL template removed! by installer or Resource file could not be compiled and so forth! I'd like to revert the solution back to VS 2015 to keep working flawlessly but it's impossible easily due to a lot of code implemented in VS 2017 excluding new Roslyn features. Any suggestions how to perform the downgrade?
You will also need to update your *.vcxproj files, to change the toolset referenced there to the one used by the earlier compiler.
What I found useful, is to create a small scratch project (just simple console app) in each version of visual studio, then use beyond compare or similar to contrast the .sln and .vcxproj files from each vs version. This will show you the toolset changes and maybe a few others that you need. For example going from vs 2017 to vs 2019 the toolset changes from 141 to 142.
So the lines
<PlatformToolset>v141</PlatformToolset> are for vs2017
and
<PlatformToolset>v142</PlatformToolset> is for vs2019
It's indeed a manual process and no there are no tools that can automate that.
I had the same problem and i fixed it using this solution:
1) create a solution of whichever project you want (winforms, etc)
2) browse to your project folder and find your .sln file.
3) open it using notepad.
4) copy the first 4 lines as shown
here.
5) find your .sln file for the project you wish to downgrade. for example : foo.sln (its found where your project is).
6) open it with notepad and paste the lines instead of the first 4 lines
7) save and open the sln. it should open it under visual studio 2015
i hope this works for you

This project(Visual Studio 2012 express) is incompatible with the current version of Visual Studio 2013 express

Am doing a back end project in C# in Visual Studio. My team mate had done it using Visual Studio 2012 express and everything seems to work there. But when i used git to clone it to my system where am using Visual Studio 2013 express, one part of the project says its incompatible with the current version of VS. I could clean and build the project, but was unable to run the project. I searched and found that one solution is to go to Programs and features, select VS, right click,select repair. But even after doing this, the problem persists. Is there any work around?
When I was learning ASP.NET MVC by Informit tutorials I was in the very similar situation. I downloaded the sample sources that was created in VS2013 but had VS2015 installed. It was some kind of bug \ magic, but VS didn't recognized some libraries in VS2015 even they were installed. What is more strange is the fact that when I decided to totally rewrite the project line by line it worked!
Of course, I tried to clean, rebuild, reinstall NuGet packages.
So, if you have an access to sources *.cs, then just try to create new project and copy-paste code.

Open Visual Studio 2008 Solution in Visual Studio 2013 without Upgrading

In short: I need to open an application originally built in Visual Studio 2008 (version 9) in Visual Studio 2013 without upgrading the project since the overall project architecture must remain the same for when I check it back into source control.
Details: I need to open a Visual Studio solution (.sln) inside Visual Studio 2013. The solution in question was originally developed in Visual Studio 2008, so when I try to open said solution in Visual Studio 2013, I am shown a prompt with the projects within the solution checkmarked, with the message:
These projects are either or supported or need project behavior impacting modifications to open in this version of Visual Studio. Projects no displayed either require no changes or will automatically be modified such that behavior is not impacted. Visual Studio will automatically make functional changes to the following projects in order to open them. You will not be able to open these projects in the version of Visual Studio in which they were originally created.*
My attempt at a fix was to just upgrade the solution and hope for the best. This is successful, but after building and attempting to run the main project, I see the following build error:
The type 'Microsoft.Web.Services3.WebServicesClientProtocol' is defined in an assembly that is not referenced. You must add a reference to assembly 'Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. *
I then tried both commenting out the references to this assembly and adding in the missing reference. Okay, so then I rebuilt the solution and attempted to run. Same error, but for a different assembly. Repeat fix, same error for different assembly. This pattern continues and continues, and at this point I realize this is unacceptable anyway, because when I make a change to this solution, I need to check it back into source control. When others open it, they may be opening it in VS2008, and therefore this “upgraded” version is inconsistent with the version the business uses. I need to open the solution originally build in VS2008 in VS 2013 (can't work around this, needs to be VS2013). If it helps, I'm using 64 bit Visual Studio 2013 Ultimate.
Any help or guidance will be greatly appreciated!
As several of the commenters have already helpfully pointed out, this is not possible. Round-tripping (i.e., opening and manipulating project files created by an older version of Visual Studio in a newer version of Visual Studio) was not supported until Visual Studio 11. The only way to open a Visual Studio 2008 project/solution in a later version of Visual Studio will be to convert it.
As far as interoperability with previous versions is concerned, you have two options:
Update the project locally (using the migration wizard provided), make any changes to the project file necessary to get it to build, and then edit the code files. Once you're satisfied with your edits, commit only the modified source files, not the project infrastructure files. Your fellow developers, stuck on VS 2008, won't notice any difference.
Update the project locally (using the migration wizard provided), make any changes to the project file necessary to get it to build, and then rename the project file (e.g., by appending a -vs2013 suffix to it). Commit this to your code repository. You will now have two project files in your root directory, one for each version of Visual Studio that your team works with. From here on, you just open the project file corresponding to the version of VS that you have installed.
I used approach #1 for a good part of last year, where I spent most of my time developing a C++ application in VS 2010 on a desktop machine, but also wanted to work on it on my notebook running VS 2013. Of course, in my case, it took a trivial amount of time for the automatic conversion to upgrade my project file after pulling from source control. I didn't have to do any tweaking thereafter to get the project to build. It sounds like your case is different, so option #2 might be a better choice.

Categories