asp.net core 3 rotativa startup.cs 环境问题

asp.net core 3 rotativa startup.cs env problem

我尝试使用 Rotativa ım 遵循此 guide 在 start.cs 配置函数中添加此代码

  RotativaConfiguration.Setup(env);
Severity    Code    Description Project File    Line    Suppression State
Error   CS1503  Argument 1: cannot convert from 'Microsoft.AspNetCore.Hosting.IWebHostEnvironment' to 'Microsoft.AspNetCore.Hosting.IHostingEnvironment'    

ım 搜索这个错误并找到这个并像这样转换我的代码

 RotativaConfiguration.Setup(env.WebRootPath, "Rotativa");

它给我这个错误

Severity    Code    Description Project File    Line    Suppression State
Error   CS1503  Argument 1: cannot convert from 'string' to 'Microsoft.AspNetCore.Hosting.IHostingEnvironment'  

ım 在 wwwroot 中添加 Rotative 文件夹并添加 wkhtmltoimage.exe、wkhtmltopdf.exe

我的包版本Rotativa.aspnetcorev1.1.1 我正在使用当前 asp.net 核心版本 3.xx 任何人都可以解释我的问题是什么?

我在 statup.cs 的配置函数添加 env2 和 obsolute

中找到了这样的解决方案
        [Obsolete]
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, Microsoft.AspNetCore.Hosting.IHostingEnvironment env2)

并像

这样改变它
   RotativaConfiguration.Setup(env2);

它现在可以工作,但如果您知道更好的解决方案,请描述它。

适用于版本 3.0 和 3.1

// Rotary configuration 
// This is for the rotating to use the files in the Rotating folder
RotativaConfiguration.Setup (env.ContentRootPath, "Rotativa");

从 Nuget 包中删除现有 Rotativa.AspNetCore,然后安装测试版:

Install-Package Rotativa.AspNetCore -Version 1.2.0-beta

其中有重载方法,也适用于 IWebHostingEnvironment

在 Configure 方法中安装 configure 后为:

RotativaConfiguration.Setup(env.WebRootPath, "Rotativa");

安装 Install-Package Rotativa.AspNetCore -Version 1.2.0-beta

将 Rotativa 环境变量设置为 RotativaConfiguration.Setup(env.WebRootPath, "/usr/bin/");

如果您使用的是 Ubuntu 20.10 或 20.04,请安装 wkhtmlpdf。 sudo apt install wkhtmlpdf

这适用于 Dot Net Core 3.1 或 5.0 我都测试过。