Эта проблема относится только к 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())