3

I was reading through the documentation on the .NET foundation's GitHub repository for the .NET project-system and saw that the latest system used to run C# projects on Visual Studio is the new Project System by default; however, as the older system, Common Project System (CPS), is being phased out what are some signs to help me discern which version of the Project System my project is using?

Is this determined by Visual Studio or will I be able to look at the .csproj file and know which system is being utilized to manage my projects?

I am not looking for the version of the .NET SDK but rather which project system is running my solution's file organization and project manifest.

Turner Bass
  • 801
  • 8
  • 20
  • Possible duplicate of [How do I find the .NET version?](https://stackoverflow.com/questions/1565434/how-do-i-find-the-net-version) – Tripp Kinetics Mar 30 '18 at 20:56
  • Sorry if that was unclear, I know how to find my .NET version. I am specifically asking how I can tell if my projects are being handled by the Common Project System or the new .NET project system which are not directly connected to the .NET version. I have edited the question in hopes to clarify. – Turner Bass Mar 30 '18 at 20:58
  • 2
    [Opening with the new Project System](https://github.com/dotnet/project-system/blob/master/docs/opening-with-new-project-system.md) – Jonathan Tyson Mar 30 '18 at 21:09
  • 2
    Right click on it in VS - if you can edit it, it's new, if you have to unload it before editing, it's old. – Ian Mercer Mar 30 '18 at 21:10
  • CPS is not the legacy project system. It is [a part of the new one](https://github.com/dotnet/project-system/blob/3a7aeeae8f3aabb15fffe2a261dfc886f2e6aa74/README.md#what-is-a-project-system). – Palec Aug 24 '19 at 00:21

1 Answers1

2

Thanks to concise and enlightening comments from Jonathan Tyson and Ian Mercer there are a few ways to tell which version of Project System a solution is using.

1. As according to the Project System Documentation (link provided by Jonathan), you can tell based on the formatting of the project file.

In the project file, when the Target Framework is formatted like this: net45 the project is using the new Project System. When formatted like this: v4.6.1 The project is utilizing the legacy Common Project System.

2. A quick way to tell without opening the project file is to right-click on the file and if you can select Edit .csproj without having to unload the project it is using the new Project System (provided by Ian).

Thank you guys for your insights!

Turner Bass
  • 801
  • 8
  • 20