Build fixes

- cancellationToken.ThrowIfSourceDisposed(); replaced with
GC.KeepAlive(cancellationToken.WaitHandle);
- Updated project file