hvanbakel / CsprojToVs2017

Tooling for converting pre 2017 project to the new Visual Studio 2017 format.
MIT License
1.08k stars 120 forks source link

is there an effective way to convert 2019 csproj to 2017 csproj? #287

Open bladezhang opened 3 years ago

bladezhang commented 3 years ago

is there an effective way to convert 2019 csproj to 2017 csproj?

hvanbakel commented 3 years ago

Not with this

On Sun, Mar 14, 2021 at 23:46 blade.zhang @.***> wrote:

is there an effective way to convert 2019 csproj to 2017 csproj?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/hvanbakel/CsprojToVs2017/issues/287, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7QKPBIUT5HXHJWOHRZ3RDTDWUMZANCNFSM4ZF576DA .

andrew-boyarshin commented 3 years ago

The 2019 csproj is almost the 2017 csproj. I doubt any tool exists that will enable backwards compatibility between CPS project formats. Is there a particular issue that you face when opening VS2019 project in VS2017?

bladezhang commented 3 years ago

The 2019 csproj is almost the 2017 csproj. I doubt any tool exists that will enable backwards compatibility between CPS project formats. Is there a particular issue that you face when opening VS2019 project in VS2017?

because most keep-alive csprojs cannot be opened with vs2017 which is the only one version i have license for.
such as https://github.com/oxyplot/oxyplot

andrew-boyarshin commented 3 years ago

I guess you are trying to open .NET Core 3.0+ Windows Forms/WPF solutions using VS2017. VS2017 supports a maximum of .NET Core 2.2 SDK. I suggest you use VS2019 Community for working on open-source projects, like oxyplot. If you only need to build the project, latest .NET 5 SDK will be enough. It is a separate product from Visual Studio and it is not covered by VS license terms. If you are working on a project which is incompatible with VS Community license, so that you are forced to use your VS2017 license, you can use packages built (using modern toolset) targeting .NET Core 2.2 or lower (non-UI), or any .NET Framework version (with UI). If you need to develop commercial .NET Core 3.0+ UI projects with VS2017, I'm afraid there is no easy way (or any way at all). This project can't do that (unless someone implements it, which is doubtful), and no project can (to the best of my knowledge). The changes to the SDK tooling between .NET Core 2.2 and 3.0 were extensive and, I believe, almost impossible to replicate so that VS IntelliSense will work correctly.