Qual tipo de projeto do Visual Studio 2017 escolher para uma biblioteca de classes C # independente de interface do usuário de plataforma aberta e por quê?

Eu tenho uma idéia de uma biblioteca de classes C # que gostaria de desenvolver e lançar em código aberto. Gostaria de disponibilizá-lo facilmente (com recompilação, se necessário) no maior número possível de plataformas .Net disponíveis (por exemplo, .Net completo, Mono, .Net Core, Xamarin, somente a compatibilidade clássica de Net é uma necessidade real, Contudo). A biblioteca não dependerá de nada relacionado à interface do usuário nem apenas do Windows, como o WPF.

Tudo que eu preciso é:

os tipos .Net e APIs comuns (não quero ser surpreendido pela ausência de algo que considero uma parte essencial da linguagem)Recursos de manipulação de JSON e XMLacesso ao sistema de arquivos (um pouco restrito, talvez),Cliente HTTPS,Cliente RDBMS no nível SQL (não preciso da funcionalidade ORM, mas é claro que não me importo de estar disponível)Reflexão se possívelInstalações assíncronas e de rosqueamento, se possívelA versão mais recente da linguagem C # possível

Estou escolhendo entre os seguintes tipos de projeto

Biblioteca de classes (.NET Core)Biblioteca de classes (.NET Standard)Biblioteca de classes (.NET Framework)Biblioteca de classes (portátil)

Ouvi dizer que Portable é o que diz, mas agora temos o Core que roda no Linux e no Mac (Windows Phone e Xamarin talvez?) E quase não tenho problemas com o EF Core que obviamente é direcionado no meu desktop clássico do Windows. Aplicativos do NET Framework. O código clássico do .NET Framework parece ser muito bem suportado em plataformas não Windows, graças ao Mono e ao Xamarin. .NET Standard - Não tenho idéia do que isso significa, eu acabei de descobrir esse tipo com a ferramenta de pesquisa de janelas "Novo Projeto", procurando todas as variedades da "Biblioteca de Classes".

Qual devo escolher, por quê e o que devo saber sobre isso?

questionAnswers(1)

yourAnswerToTheQuestion