Error: Sestava specifikovaná v manifestu závislostí aplikací (WebApplication1.deps.json) nebyla nalezena: balíček: 'Microsoft.AspNetCore.Antiforgery', verze: '2.0.3' Cesta: 'lib/netstandard2.0/Microsoft.AspNetCore.Antiforgery.dll'
Výše je chyba, kterou ASP.Net Core aplikace nemůže nahlásit na CentOS 7
Řešení 1 (Neúspěšné)
Protože pouze nainstalované . Net Core runtime bez instalace ASP.NET Core runtime. Oficiální odkaz na webové stránky:Přihlášení k hypertextovému odkazu je viditelné.
Zkuste spustit příkaz jako tento:
Pak zkuste restartovat .NET program, ale chyba je stále stejná jako výše.
Řešení 2 (hotovo)
Problém je, že asp.net neuvolní všechny balíčky, které server potřebuje, myslí si, že cílový systém je má, ale ve skutečnosti cílový systém ne. Řešení:
Přidejte následující řádek do souboru csjproj, jak je znázorněno na obrázku níže:
Zabalte a nahrajte na náš server, restartujte aplikaci a zjistíte, že se spustí normálně, jak je znázorněno na obrázku níže:
[root@VM_0_9_centos projekt]# dotnet WebApplication1.dll
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35] Žádný XML šifrovací nástroj nebyl nakonfigurován. Klíč {03f25bc0-bd97-441f-a013-72fbe8537c95} může být uložen do úložiště v nešifrované podobě.
warn: Microsoft.AspNetCore.Server.Kestrel[0] Nelze se navázat na http://localhost:5000 na rozhraní IPv6 loopback: 'Chyba -99 EADDRNOTAVAIL adresa není dostupná'. Prostředí pro hostování: Produkce Kořenová cesta k obsahu: /root/project Teď posloucháme: http://localhost:5000 Aplikace spuštěna. Stiskněte Ctrl+C pro vypnutí.
Kód rozhraní:
Zjistili jsme, že se nemůžeme normálně dostat přes externí IP a 5000 portů, musíme nainstalovat nginx, získat reverzní proxy, nginx, který mám nainstalovaný, instalační tutoriál o nginx je následující:
nginx.conf je nakonfigurován následovně:
V tuto chvíli jsme k němu přistupovali přes externí IP a port 80 a zjistili jsme, že je k němu možné normálně přistupovat! Jak je uvedeno níže:
|