为什么我在生产环境中遇到FileNotFoundException?

问题描述 投票:0回答:1

我有一个.NET 7.0项目,在开发环境中运行良好。但是,当我发布它并在生产环境中运行它时,我收到指向此文件的

System.IO.FileNotFoundException
错误:

未处理的异常:System.IO.FileNotFoundException:无法加载文件或程序集“System.Runtime,Version=7.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。系统找不到指定的文件。

我尝试了各种解决方案,包括确保项目正确发布以及在生产环境中安装适当的 ASP.NET Core SDK 版本。然而问题依然存在。

此外,我的源代码在之前发布的同一服务器上运行良好,并且在进行一些代码更改后出现了此问题。 程序.cs

Log.Logger = new LoggerConfiguration()
                       .Enrich.FromLogContext()
                       .CreateLogger();

try
{
    var builder = WebApplication.CreateBuilder(args);
    builder.Host.UseSerilog().ConfigureLogging(logging =>
    {
        logging.ClearProviders();
        logging.SetMinimumLevel(LogLevel.Trace);
    });

    var configuration = builder.Configuration;
    Log.Logger = new LoggerConfiguration().ReadFrom.Configuration(configuration).CreateLogger();

    var connectionString = configuration.GetConnectionString("AfgAzadUnConnection");

    builder.Services.Configure(connectionString);

    var app = builder.Build();

    if (!app.Environment.IsDevelopment())
    {
         app.UseExceptionHandler("/Error");
         app.UseHsts();
    }

    app.UseHttpsRedirection();
    app.UseStaticFiles();

    app.UseRouting();
    app.UseRequestLocalization("en");
    app.UseSetVisitorId();
    app.UseAuthentication();
    app.UseCookiePolicy();
    app.UseAuthorization();
    app.MapRazorPages();
    app.MapHub<OnlineVisitorHub>("/chathub");

    app.Run();
}
catch (Exception ex)
{
    Log.Fatal(ex, "اجرای اپلیکشن با خطا  مواجه شد.");
}
finally
{
    Log.CloseAndFlush();
}

配置:

enter image description here

以前有人遇到过这个错误吗?有哪些可能的解决方案可以解决此问题?

感谢您的帮助。

c# asp.net-core .net-core runtime-error .net-7.0
1个回答
0
投票

我在 ASP.NET Core 项目中遇到了一个特殊问题,我想分享解决该问题的解决方案。我的 ApplicationName.csproj 文件中有以下代码:

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<Optimize>True</Optimize>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
    <Optimize>False</Optimize>
</PropertyGroup>

<ItemGroup>
    <Compile Remove="Controller\**" />
    <Compile Remove="Model\**" />
    <Content Remove="Controller\**" />
    <Content Remove="Model\**" />
    <EmbeddedResource Remove="Controller\**" />
    <EmbeddedResource Remove="Model\**" />
    <None Remove="Controller\**" />
    <None Remove="Model\**" />
</ItemGroup>

奇怪的是,删除此代码解决了我面临的 System.IO.FileNotFoundException 问题。如果有人深入了解为什么这些特定配置会导致问题,我将不胜感激进一步澄清。

值得注意的是,该项目在之前发布的这些配置下运行良好,并且在进行一些代码更改后出现了问题。如果有人遇到类似情况或有其他建议,我将不胜感激您的见解。

谢谢!

© www.soinside.com 2019 - 2024. All rights reserved.