此问题特定于RazorLight。
错误:
无法从条目程序集中加载元数据引用。确保 PreserveCompilationContext 在 *.csproj 文件中设置为 true
只有在我们部署到 AWS 后才会弹出此错误。在本地机器上一切正常。 我已经添加 PreserveCompilationContext
到*.csproj
文件中了。
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<PreserveCompilationContext>true</PreserveCompilationContext>
</PropertyGroup>
我们使用 circleci 进行部署。存在此问题的 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 Functions中遇到了同样的错误。这是否与 Lambda 相似,并且可能需要类似的修复?如果是,我该如何在 Lambda 中解决这个问题?
我也试过设置 SetOperatingAssembly(Assembly. GetExecutingAssembly())