Issues with SSIS TargetServerVersion

We run SQL Server 2012 onsite, and we're trying to create an SSIS package (We've tried creating it in Visual Studio 2012 and 2015). The package works if TargetServerVersion is set to 2016, however, if I set the TargetServerVersion to 2012, it errors:
Script Task: Error: Exception has been thrown by the target of an invocation.

I can't leave it in 2016 mode since we need to deploy to our 2012 server. I've got no idea about where to start looking, could someone please assist.

You need to change the target server version before creating any objects. If you change it after - especially with script components - the code that is set will not work.

For example - create a script component with target server version set to 2016 and that script component is configured to use Microsoft Visual C# 2015 (or VB.Net). Switching the target server version after creating this component does not downgrade to the appropriate version of C# (or VB.Net).

SQL Server 2012 Integration Services supports Microsoft Visual C# 2010...