Error: Асемблер, зазначений у manifest dependencies application (WebApplication1.deps.json), не був знайдений: пакет: 'Microsoft.AspNetCore.Antiforgery', версія: '2.0.3' Шлях: 'lib/netstandard2.0/Microsoft.AspNetCore.Antiforgery.dll'
Вище наведено помилку, яку ASP.Net Core додаток не може повідомити про centos 7
Рішення 1 (Не вдалося)
Бо тільки встановлені . Net Core runtime без встановлення ASP.NET Core runtime. Офіційне посилання на сайт:Вхід за гіперпосиланням видно.
Спробуйте виконати таку команду:
Потім спробуйте перезавантажити .NET програму, але помилка залишається такою ж, як вище.
Рішення 2 (виконано)
Проблема в тому, що asp.net не випускає всі пакети, які потрібні серверу, він думає, що цільова система їх має, але насправді цільова система їх не має. Рішення:
Додайте наступний рядок до файлу csjproj, як показано на рисунку нижче:
Упакуйте і завантажте на наш сервер, перезапустіть додаток і виявите, що він запускається нормально, як показано на рисунку нижче:
[root@VM_0_9_centos проєкт]# dotnet WebApplication1.dll
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35] Жодного XML-шифрування не налаштовано. Ключ {03f25bc0-bd97-441f-a013-72fbe8537c95} може зберігатися у зберіганні у незашифрованій формі.
warn: Microsoft.AspNetCore.Server.Kestrel[0] Неможливо зв'язатися з http://localhost:5000 на інтерфейсі IPv6 loopback: «Помилка -99 адреса EADDRNOTAVAIL недоступна». Середовище хостингу: Продакшн Шлях до кореня контенту: /root/project Тепер слухаємо: http://localhost:5000 Заявка розпочата. Натисніть Ctrl+C, щоб вимкнути.
Код інтерфейсу:
Ми виявили, що не можемо нормально отримати доступ через зовнішню IP і 5000 портів, нам потрібно встановити nginx, отримати зворотний проксі, nginx я вже встановив, інструкція з встановлення nginx така:
nginx.conf налаштований так:
Зараз ми отримуємо доступ через зовнішню IP і порт 80, і виявили, що доступ можна використовувати звичайно! Як показано нижче:
|