xRM Portals CE planned compatibility for Dynamics 365 CE July 2017 Update

Microsoft has started sending out emails to Dynamics 365 Customer Engagement customers to announce upcoming changes in the July 2017 Update and how the security of network connections is changing. The change is the version of the transport layer security, TLS, is changing to require a minimum of version 1.2, and not accept lower protocol versions anymore, including TLS 1.1 and 1.0. This requires changes to xRM Portals Community Edition (CE) to ensure compatibility.

More details about this change are in the Microsoft Dynamics 365 Team’s  blog post Updates coming to Dynamics 365 Customer Engagement connection security.

The relevance of this change is that xRM Portals Community Edition (CE) is currently running on a version of the .NET Framework, 4.5.2, that doesn’t use TLS 1.2 by default when connecting to servers that require secure connections, and until the code is updated to a newer version of the .NET Framework, or extra code is added to force connections to use TLS 1.2, connectivity to Dynamics 365 CE July 2017 update will be blocked.

The plan at this stage is to upgrade xRM Portals CE to use .NET Framework 4.7. This will cause outbound network connections to use TLS 1.2 by default, and allow use with Dynamics 365 CE July 2017 Update. Work on this effort has begun and progress is being tracked in the issue Update all projects to target .NET Framework 4.7 for TLS 1.2 compatibility.

Initial code changes to update to .NET 4.7 have been committed to a new branch listed in the issue. I’m currently troubleshooting an issue where the routing of some requests appears to have been affected by the upgrade, and is causing the affected requests to be served with the wrong locale. What seems to be happening is the threads of the affected requests aren’t executing code that normally sets the thread’s culture to the language of the website being viewed. The end result of this is for example the localized JavaScript bundle file at the bottom of the Default.master page is getting the wrong locale language code applied to its filename and causes the file download to fail with a 404 error.

Once the .NET 4.7 upgrade has been completed and tested successfully, the change will be committed to the master branch.

Nov 11, 2017 update – this change is now complete.