On the C# side, one limitation, until recently, was that you could only run it on ASP.NET. That's in the past now. Recently a pull request sent by Yegor and I to, add support to ASP.NET Core, was merged into the BotFramework's develop branch!
They released the changes on the 3.6.0-alpha version. Here's the breakdown:
The Microsoft.Bot.Builder package remains targeting ASP.NET only, for backward compatibility.
Microsoft.Bot.Builder.Common is the framework-independent Bot.Builder, i.e. without any dependencies on the any particular connector implementation
Unfortunately, Microsoft.Bot.Builder.Common still targets .NET Framework, so you cannot run it on other platforms. However, Microsoft.Bot.Connector.AspNetCore targets .NET Standard 1.4, so if you don't use the Builder, you can run your bot service on Mac or Linux as well, using .NETCore!.