Se você ler estes dois links:
Primeiro, https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/using-with-xplat-cli
e
segundo, https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog
Você verá que é possível criar uma versão completamente portátil usando o seguinte trecho no elemento raiz de dependências em project.json. Não há necessidade de especificar tempos de execução, pois esse é um tempo de execução no nível CORE, que deve ser independente da plataforma ou conhecido como "Dependente da estrutura"
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.1"
}
ou você pode criar para várias plataformas direcionadas ("aplicativos independentes") removendo o elemento type: platform como este:
Inclua isso no elemento raiz das dependências em project.json
"Microsoft.NETCore.App": {
"version": "1.0.1"
}
e adicione isso como um novo elemento de nível raiz
"runtimes": {
"win10-x64": {}, /* one or more RIDs */
"osx.10.10-x64": {}
},
Vários destinos exigem que você forneça nomes de plataformas conhecidos como ".NET Core Runtime IDentifiers (RID)". Uma lista deles pode ser encontrada no segundo link acima. Inclui muitos sabores do Windows, Linux e OS X.
Para uma boa visão geral das várias opções de implantação, você também pode ler esta página:
https://docs.microsoft.com/en-us/dotnet/articles/core/deploying/index
No link acima:
Você pode criar dois tipos de implantações para aplicativos .NET Core:
Implantação dependente da estrutura
Como o nome indica, a implantação dependente da estrutura (FDD) depende de uma versão compartilhada em todo o sistema do .NET Core para estar presente no sistema de destino. Como o .NET Core já está presente, seu aplicativo também é portátil entre instalações do .NET Core. Seu aplicativo contém apenas seu próprio código e quaisquer dependências de terceiros que estão fora das bibliotecas do .NET Core. Os FDDs contêm arquivos .dll que podem ser iniciados usando o utilitário dotnet na linha de comando. Por exemplo, dotnet app.dll executa um aplicativo chamado app.
Implantação independente
Diferentemente do FDD, uma implantação autônoma (SCD) não depende de nenhum componente compartilhado para estar presente no sistema de destino. Todos os componentes, incluindo as bibliotecas do .NET Core e o tempo de execução do .NET Core, estão incluídos no aplicativo e são isolados de outros aplicativos do .NET Core. Os SCDs incluem um executável (como app.exe em plataformas Windows para um aplicativo chamado app), que é uma versão renomeada do host .NET Core específico da plataforma e um arquivo .dll (como app.dll), que é a aplicação real.