Can same solution support both legacy .NET as well as 7.0+ ?

I have written and am supporting a suite of Nugets for my company. We just call it the “XP SDK”, as it allows all kinds of projects to quickly get on track with integration for our Auth infrastructure, as well as getting more productive and such. Now, some older projects include Xamarin mobile apps, plugins for various products and Windows services. These require ‘legacy’ .NET so the SDK Nugets support .NET Standard 2.8 up to .NET 7.0. 

This seems to be no issue on Windows, for some reason, but whenever I move to build on the Mac I get in trouble. Basically, I can configure Rider to user MSBuild 16, or 17. For Xamarin only 16 seems to work but to build for .NET 7 I need MSBuild 17.

Could my Rider/Mac environment be mis-configured in some way? Basically, right now, I can no longer build on the Mac

1 comment

Hi Jonas, since .NET 7 breaks binary compatibility with Xamarin, you will need to use the MSBuild 16 (with lower .NET SDK version) or upgrade the current Xamarin project references to .NET MAUI.

I'd like to know your configuration on Windows to compile the Xamarin project, maybe there are some imperceptible differences between different platforms.




Please sign in to leave a comment.