After years of targeting .NET Framework 4.5 (Portable Class Libraries) Profile 259, we have now decided to move forward and upgrade our framework targets to .NET Standard 1.0 and .NET Standard 1.3 specification compliant platforms.
What is .NET Standard?
Why the migration?
- Firstly, we pay heed to our developers and as many of you might have noticed, developers relying on our frameworks have requested support for .NET Core in our Forum which is a subset of API implementations supported by .NET Standard specification.
- Secondly, it is time to move on to a better stable framework target that is consistent throughout multiple platforms. One of our goals is to make our frameworks as platform independent as possible and .NET Standard is the next step towards portable frameworks.
- Lastly, Microsoft has officially ended support for .NET Framework 4.5 since January 2016. Which also suggests that it is high time to move to .NET Framework 4.6 and above.
How does this affect Developers?
In 2 Words - "Not Much".
As .NET Standard 1.0 is fully compatible with our frameworks that were previously targeting PCL Profile 259 you wouldn't have to make any changes to your current project to reference newer versions of our frameworks.
Syn Bot Framework however, is going to dual target PCL Profile 259 and .NET Standard 1.3 for the next couple of months till support for PCL Profile 259 is dropped before the end of the year.
Developers who wish to use Syn Bot Framework in .NET Core 1.0 or above will have to ensure that their projects target .NET Framework 4.6 or above.
Some Common Q/A
- Question: My project targets previously released version of your framework. Do I need to make any changes to my project to update to newer versions?
Answer: No. You do not have to make any changes to your project.
- Question: Will the frameworks still support the previously targeted platforms (Windows, Linux, macOS, iOS, Android)?
Answer: Yes. All newer versions will still work in previously supported platforms.
- Question: My project uses Syn Bot Framework and I now want to use it in a .NET Core project. Are their any changes I would need to make to my project?
Answer: Especially for supporting .NET Core 1.0 and above we are dual targeting Syn Bot Framework with PCL Profile 259 and .NET Standard 1.3. To use it in a .NET Core based project you will have to ensure that your project targets .NET Framework 4.6 or above.
- Question: What about other non-portable frameworks developed by Syn? Will they too be migrated to .NET Standard?
Answer: We are currently focusing only on portable frameworks that we've developed so far. Non-Portable frameworks will continue to target currently supported platforms.
- Question: When is the migration to .NET Standard supposed to start?
Answer: The migration has already started and we plan to finish the migration by 22nd of May 2017.
- Question: What would be your recommendation for developing .NET based applications from now on?
Answer: Though this may be a debatable recommendation. For .NET Applications (WPF, Console and WinForms) we recommend targeting .NET Framework 4.6 or above and for Class Libraries we recommend basing your project on .NET Standard 1.3 or above specification. We also recommend using Visual Studio 2017 as it comes with tons of improvements and features when compared to Visual Studio 2015.