Hi,
An assembly compiled against .NET 4.0 can run on .NET 4.5.x (backward compatibility).
The opposite (forward compatibility) is not true, because a .NET Framework is a Common Language Runtime (CLR) + .NET Libraries, and therefore the CLR can be different and the .NET 4.0 may not have libraries provided by .NET 4.5.x.
See:
Version Compatibility in the .NET Framework
https://msdn.microsoft.com/en-us/library/ff602939(v=vs.110).aspx
* My new blog about VSX: http://www.visualstudioextensibility.com * Twitter: https://twitter.com/VSExtensibility * MZ-Tools productivity extension for Visual Studio: http://www.mztools.com.