IT:AD:Patterns:Lowest Framework Profile

Summary

For the maintainability of an application over the lifetime of it's business domain's usefulness, the software may need to ported to use a more current Presentation framework.

Whereas the software might require running on a server today, the application might be of use on a cellphone in the future, keeping the same business logic, but changing the Presentation Layer from ASP.MVC to Windows8 Silverlight, and the datastorage.

Similar to the the IT:AD:Patterns:Minimal Dependency Cardinality concept, when dealing with .NET40 or earlier, set the .NET Framework of new assemblies to .NET Client, and only grudgingly allow it to be set to .NET Full Framework, after careful consideration whether it is truly needed.

Examples of a DDD based Solution's Assemblies that generally do not require the Full Framework are:

Examples of DDD based Solution's Assemblies that generally require the use of functionality that is only available in the Full Framework:

>Note:

This is no longer the case with .NET45 or higher: [http://code-inside.de/blog-in/2013/01/26/byebye-net-client-profile-with-net-4-5/](http://code-inside.de/blog-in/2013/01/26/byebye-net-client-profile-with-net-4-5/)