Su Raspberry PI con Rasbian è possibile installare il runtime della versione Arm32 di .Net Core.
L'SDK non è supportato su ARM.

Installazione sistema operativo


Prima cosa, se non ll'hai già fatto, installa Raspbian (attualmente la versione Raspbian Stretch Lite).
Ho installato la versione senza Desktop in quanto lo uso sempre da remoto tramite SSH
Poi trasferisci l'immagine su SD, puoi usare Rufus.
L'utente di default è pi con password raspberry
Impostare la tastiera

Appena loggato assicurati che la tastiera abbia il layout italiano
Puoi procedere in 2 modi, usando raspi-config (non funziona da SSH) oppure da linea di comando editando /etc/default/keyboard.
sudo nano /etc/default/keyboard
imposta
XKBMODEL="pc105"
XKBLAYOUT="it"
e riavvia il servizio
service keyboard-setup restart
Cambiare password

Imposta subito una password più sicura
passwd
Attivare SSH

Sulle nuove versioni il servizio SSH è disabilitato per default, abilitalo con:
sudo systemctl enable ssh
sudo systemctl start ssh
Per collegarti in SSH da Windows puoi usare Putty.
Impostare un IP statico

Per raggiungere più facilmente il Raspberry PI da remoto, in SSH, conviene impostare un IP fisso:
sudo nano /etc/dhcpcd.conf
ad esempio
interface eth0
static ip_address=192.168.1.210/24
static routers=192.168.1.254
static domain_name_servers=192.168.1.254 1.1.1.1 8.8.8.8
Cambiare il nome

Se vuoi puoi cambiare il nome al Raspberry PI, puoi farlo editando questi due file:
sudo nano /etc/hostname
sudo nano /etc/hosts
Reboot

Riavvia per rendere attive tutte le modifiche:
sudo reboot
SSH

Adesso, da Windows, se vuoi, puoi collegarti da remoto in SSH con Putty
putty.exe -ssh pi@192.168.1.210
oppure tramite interfaccia grafica
PuttyPutty
Aggiornamento

Assicurati che il sistema sia aggiornato:
sudo apt-get update
sudo apt-get upgrade

installare .NET Core


Installa i prerequisiti
sudo apt-get install curl libunwind8 gettext apt-transport-https
poi il .Net Core
curl -sSL -o dotnet.tar.gz https://dotnetcli.blob.core.windows.net/dotnet/Runtime/release/2.1/dotnet-runtime-latest-linux-arm.tar.gz
sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
sudo ln -s /opt/dotnet/dotnet /usr/local/bin
Verifica sè installato correttamente
dotnet --info
Host (useful for support):
  Version: 2.1.3-servicing-26708-02
  Commit:  cc9cf3686d

.NET Core SDKs installed:
  No SDKs were found.

.NET Core runtimes installed:
  Microsoft.NETCore.App 2.0.9 [/opt/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.3-servicing-26708-02 [/opt/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

Creare un progetto Core


Su una macchina su cui hai l'SDK, ad esempio Windows (ma anche Linux o Mac), crea una nuova cartella
mkdir testcore && cd testcore
poi crea un progetto, in questo esempio un sito web basato su Angular 5
dotnet new angular
compilalo per la versione Linux ARM
dotnet publish -r linux-arm
la versione compilata si troverà in root-progetto\bin\Debug\netcoreapp2.1\linux-arm\publish\
Eseguire .NET Core su Raspberry

Crea una cartella nella tua home
cd ~
mkdir testcore && cd testcore
pwd
Da Windows copia i file su linux con l'utility pscp.exe
D:\testcore>d:\Utility\PuTTY\PSCP.EXE -r .\bin\Debug\netcoreapp2.1\linux-arm\publish\*.* pi@192.168.1.210:/home/pi/testcore
su Linux dai i permessi di esecuzione all'applicazione all'utente corrente
chmod 755 ./testcore
Vedi chmod
mandalo in esecuzione con
./testcore
Hosting environment: Production
Content root path: /home/pi/testcore
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
A questo punto se hai installato il sistema operativo nella versione desktop, puoi aprire la url http://localhost:5000.

Se invece stai accedendo da un computer remoto il sito non risulta raggiungile neanche dall'indirizzo http://192.168.1.210:5000.
Puoi provare ad eseguirlo con il parametro --urls specificando l'indirizzo IP dell Raspberry PI
./testcore --urls http://192.168.1.210:5000
a questo punto il sito risulta accessibile da remoto
Per determinare l'IP assegnato usa il comando ifconfig

In alternativa puoi modificare il file Program.cs per fare in modo che il server rimanga in ascolto su tutti gli IP aggiungendo:
.UseKestrel(options =>
{
  options.Listen(System.Net.IPAddress.Any, 5000);
});
questo è il risultato finale
namespace testcore
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateWebHostBuilder(args).Build().Run();
        }

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
                .UseKestrel(options =>
                {
                options.Listen(System.Net.IPAddress.Any, 5000);
                });
    }
}

Le prove le ho fatte con un Raspberry PI versione 2 e 3 con Raspbian Stretch Lite senza Desktop