Ошибка: не удается загрузить ссылку на метаданные из сборки ввода. Убедитесь, что PreserveCompilationContext имеет значение true в файле * .csproj - PullRequest
0 голосов
/ 07 июня 2019

Эта проблема относится только к RazorLight .

Ошибка:

Невозможно загрузить ссылку на метаданные из входной сборки. Удостовериться PreserveCompilationContext имеет значение true в * .csproj файле

Эта ошибка появляется только после развертывания в AWS. На локальной машине все работает нормально. Я уже добавил PreserveCompilationContext в файл *.csproj.

  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <PreserveCompilationContext>true</PreserveCompilationContext>
  </PropertyGroup>

Мы используем окружности для развертываний. API, который имеет эту проблему, размещен в AWS Lambda.

private async Task<string> GenerateText(string template, ProseModel model)
        {
            var engine = new RazorLightEngineBuilder()
              .UseMemoryCachingProvider()
              .Build();

            try
            {
                // ERROR thrown on next line
                var result = await engine.CompileRenderAsync(Guid.NewGuid().ToString(), template, model);
                return result;
            }
            catch(Exception e)
            {
                Logger.LogError("Error generating template", e);
                throw e;
            }
        }

Я обнаружил, что люди получают такую ​​же ошибку в функциях Azure . Это похоже на лямбда и, возможно, требует аналогичного исправления? Если да, то как я могу это исправить в лямбда?

Я также пытался установить SetOperatingAssembly(Assembly. GetExecutingAssembly())

1 Ответ

0 голосов
/ 13 июня 2019

Я столкнулся с той же проблемой, но исправление, которое вы опубликовали для взлома функции Azure, сработало для меня. Вы должны обязательно заменить пакет «RazorLight» на версию пакета «RazorLight.Unofficial» beta1.3. Тогда это должно работать.

Проблема в том, что входная сборка при запуске на Lambda называется:

Bootstrap, версия = 0.0.0.0, культура = нейтральная, PublicKeyToken = ноль

То, что я предполагаю, не скомпилировано для сохранения контекста компиляции.

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