i ran into the same prolbem and solved it with another approach.
mainly i found out that with VS 2013 (Powershell extension from codeplex) is not very near to the native Powershell enviroment.
so i had to load the assembly differently foreach enviroment.
i handled it like so:
$setDevEnviromentVS = $true
#Load WinSCP assembly according DEV Enviroment
dd-Type -Path '\\<UNC>Apps\winscp572\WinSCPnet.dll'
so with this code - you can run the script either from VS or from ISE.
I was trying to execute from network drive and kept on getting this error.
I none of the above solution did not work for me, although from your coding, I just changed it to
This UnsafeLoadFrom did the trick for me.
below is the copy from MSDN.
If an application has been copied from the web, it is flagged by Windows as being a web application, even if it resides on the local computer. You can change that designation by changing the file properties, or you can use the <loadFromRemoteSources> element to grant the assembly full trust. As an alternative, you can use the UnsafeLoadFrom method to load a local assembly that the operating system has flagged as having been loaded from the web.