Automatically Passing and Pulling JSON data between .NET Framework and .NET Core

There are a few solutions, which you can apply depending on details in your projects.

As I understand you are using Bot framework SDK without anything more. The base Nuget is written in .NET Standard 2.0, which can be used both in dotNet Core and dotNet Framework. So the easiest way is to upgrade/change your project to compile on dotNet Framework instead of dotNet Core. Then you can reference the second project without any problems.

If there are more compilations which I don't know you can do one of the following solutions:

  1. Create to processes on the same machine a send "messages" between them (one is a file as you mentioned, second is HTTP requests, third are queues, and more ...) - I can provide more details if I know how you want to host your solution
  2. Try to migrate QlikSense project to dotNet Core. You can check if migration is easy using the official guide: https://docs.microsoft.com/en-us/dotnet/core/porting/third-party-deps and this post: https://www.stevejgordon.co.uk/migrating-full-net-framework-net-core
  3. Search another library for QlikSense if you want to stay with dotnet Core

Disclaimer

This answer assumes ( as I can not discern any such details from the question ) that you already have your applications communicating, and are able to serialize and deserialize JSON and what you desire assistance with is the automatic sending of data on object update.

Use encapsulation to handle updates

By using c#'s class mechanisms, you can - make sure your "Sales" variable is only updated via your publicly displayed update method - the publicly displayed update method also sends the new data to your other application

class SalesContainer
{
    private string _sales;

    public string getSales()
    {
        return _sales;
    }

    public string updateSales (string sales)
    {
        _sales = sales;
        sendData(sales);
    }

    private sendData(string json)
    {
        // your sending logic here
    }
}

Alternatively, you can look a bit into operator overload to allow you to makes less changes on your existing codebase.