尝试使用OrchardCore为我们的公司创建日志记录nuget程序包;我做了以下事情:
我创建了一个.net core 3.0库,并添加了nuget OrchardCore.Module.Targets版本= 1.0.0-rc1-10004。我还添加了几个serilog软件包。
然后我创建了一个常规的.net core 3.0 mvc Web应用程序,这里是我正在使用的startup.cs:
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddOrchardCore().AddMvc();
services.AddControllers();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseHttpsRedirection();
app.UseRouting();
app.UseOrchardCore();
}
}
然后我添加对上面创建的日志记录库的引用,并且一切正常,启动应用程序时,日志显示在“ logs”文件夹中。但是,当我pack
将库包含在同一项目中时,日志将停止工作,并且没有错误可以帮助我找到原因。
这是日志库的整个启动过程:
public class Startup
{
public Startup(IConfiguration configuration)
{
var machineName = System.Environment.MachineName;
Log.Logger = new LoggerConfiguration()
.ReadFrom.Configuration(configuration)
.Enrich.FromLogContext()
.MinimumLevel.Override("Microsoft.AspNetCore", LogEventLevel.Warning)
.WriteTo.RollingFile(@"Logs/" + machineName + "-{Date}.txt")
.CreateLogger();
}
}
我的问题是:为什么当我打包这个库并将其用作nuget包时,它退出工作了?