Не удалось разрешить DbContext после публикации на сервере Linux - PullRequest
0 голосов
/ 25 января 2020

Недавно я написал базовый внутренний проект asp. net, и при развертывании его на моем сервере ubuntu16.04 я получаю сообщение об ошибке «DbContext null»:

monodev@biovrserver:/home/servers/biovr.back.v2/source/BioVR.WebHosting/bin/Release/netcoreapp2.2/publish$ dotnet BioVR.WebHosting.dll

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
   at BioVR.WebHosting.Services.DataSeeder.SeedData(DataContext context) in G:\BioVR\BioVRBackend2019\BioVR.Backend\BioVR.WebHosting\Services\DataSeeder.cs:line 15
   at BioVR.WebHosting.Program.Main(String[] args) in G:\BioVR\BioVRBackend2019\BioVR.Backend\BioVR.WebHosting\Program.cs:line 33
Aborted (core dumped)

DataSeeder будет добавить некоторые исходные данные в базу данных, если их нет. Я использую ms sql, и он запускается в docker.

 public static void SeedData(DataContext context)
        {
            School newSchool = context.Set<School>().FirstOrDefault();
            if (newSchool is null)
            {

Если я комментирую код заполнения, ошибка снова появляется в любое время при запросе базы данных.

вот мой app. json:

  "AppSettings": {
    "AppName": "XXXXXXXXXXXXXX",
    "DbConnString": "xxxxxxxxxxxxxxxxxxxxxxx",
    "Jwt": {
      "Key": "xxxxxxxxxxxxxxxxxxxx",
      "Issuer": "xxxxxxxxxxxxxxxxxxxxxxxx"
    } 
  },

Я уверен, что строка подключения верна, потому что коды работают нормально в папке проекта dev командой dotnet run; однако каждый раз после публикации sh по dotnet build --runtime ubuntu.16.04-x64, затем dotnet myproj.dll возникает ошибка.

Я много гуглил, но не дал четкого ответа на эту ситуацию ... кто-нибудь знает это? спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...