Thanks! I managed to reproduce the issue. It's apparently caused by the fact that .NET 4.6 console app gets .NET 4.0 binaries of Rebex.Sftp, while the .NET Standard library is linked against .NET Standard 1.5 binaries of Rebex.Sftp, and those two versions are not compatible (due to the difference in CommandSent, among others).
In an ideal world, this would be simple to solve by making the .NET 4.6 app reference .NET Standard 1.5 binaries of Rebex.Sftp as well. But unfortunately, as of today, Visual Studio does not seem to support this (although third-party NuGet package managers such as Paket might).
In future, this issue will most likely disappear in most use cases because we plan to release a .NET Standard 2.0 binaries and .NET 4.6 binaries with identical APIs soon.
Until then, there are two temporary workarounds:
a) Use multi-targeting in the .NET Standard library. Remove <TargetFramework> line from its project file and add something like <TargetFrameworks>netstandard2.0;net461</TargetFrameworks> instead. See
https://www.rebex.net/getfile/f4a9b734408e4e8d8c63a8046784a0a1/RebexSftpSample-CoreApp1b.zip for an example.
b) Create customized versions of Rebex NuGet packages that only contain the .NET Standard binaries of Rebex SFTP. This would prevent Visual Studio from picking the wrong binaries for .NET 4.6. Unfortunately, this requires using a custom NuGet repository instead of NuGet.org. If you would like us to create these packages for you, let me know.