Не удалось загрузить файл или сборку ‘log4net, версия=1.2.10.0?

#asp.net #crystal-reports #log4net

Вопрос:

У меня есть страница под названием ProvinceWiseDistributionCivilWork , которая использует crystal report для отображения отчета, у меня есть две другие страницы, которые работают нормально, но для этой страницы ProvinceWiseDistributionCivilWork она выдает эту ошибку Could not load file or assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) , Однако я ищу в Интернете следующую ошибку, что я сделал до сих пор, чтобы исправить это

  1. Я включаю 32-разрядный пул приложений в IIS.
  2. %системный диск%windowsсборка (по этому пути log4net отсутствует в GAC и GAC32, но log4net присутствует в GAC64.

Я выполнил описанные выше шаги, но проблема все еще существует, однако я также загружаю log4net с помощью NuGet, также мой фреймворк 4.7 VS 2019 .

Это мой код ProvinceWiseDistributionCivilWork.aspx , я считаю, что сторона кода в порядке, не уверен.

 <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="ProvinceWiseDistributionCivilWork.aspx.cs" Inherits="Reports_CivilWorks_ProvinceWiseDistributionCivilWork" %>
<%@ Register assembly="CrystalDecisions.Web, Version=13.0.4000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" namespace="CrystalDecisions.Web" tagprefix="CR" %>

<asp:Content ID="Content1" ContentPlaceHolderID="Mhead" runat="Server">
    <script src="~/aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/crv.js"></script> 
    <script src="~/aspnet_client/system_web/2_0_50727/CrystalReportWebFormViewer3/js/print.js"></script> 
    <style>

        .singlerow {
            display: -webkit-box;
        }

            .singlerow span {
                display: -webkit-box;
            }
    </style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <div class="layout-content-body">
          <div class="row gutter-xs">
            <div class="col-xs-12">
              <div class="card">
                <div class="card-header">
                
                  <strong>Event Agreement Printing</strong>
                </div>
                <div class="card-body">
             <div id="DivError" class="geterror" runat="server">
                    <img src="images/diverror.png" alt="Error" style="width: 30px; height: 30px; vertical-align: middle;" hspace="10" />
                    <asp:Label ID="lblError" runat="server"></asp:Label>
                </div>
                
                <CR:CrystalReportViewer   ID="vwrReport" runat="server"  HasCrystalLogo="false" 
                                           HasToggleParameterPanelButton="False"  HasDrilldownTabs="False" PrintMode="ActiveX"
                                                  HasPageNavigationButtons="True" HasZoomFactorList="True"    HasDrillUpButton="False" HasToggleGroupTreeButton="false"   PageZoomFactor="100"
                                           ToolPanelView="None"   
                                            AutoDataBind="true"    />
                   </div>
                </div>
              </div>
            </div>
          </div>
</asp:Content>
 

и это моя работа по распространению культуры в провинции.cs

 using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using BLLV2;
using System.IO;
using System.Data.SqlClient;
using System.Text;
using System.Collections.Generic;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;

public partial class Reports_CivilWorks_ProvinceWiseDistributionCivilWork : SystemWebUIPage
{
    private string g_strErrorMessage = "";
    private string g_strErrorType = "";
    
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Page_Init(object sender, EventArgs e)
    {
        DivError.Visible = false;
        lblError.Text = "";

         
        

        if (!Page.IsPostBack)
        {
            FillDataGrid();
        }

    }

    private void FillDataGrid()
    {
        try
        {


            vwrReport.ReportSource = null;
            vwrReport.DataBind();
            DataSet _dsreport = new DataSet();

            SqlCommand cmd = new SqlCommand();
//            cmd.CommandText = @"SELECT   Id as INT1, ContractorStatus as STR1, IUBy as STR2, IUDate as STR3
//FROM      ContractorStatuses";
            cmd.CommandText = @" SELECT  [Components] as STR1,[Azad Jammu amp; Kashmir] as STR2,[Balochistan] as STR3,[Sindh]as STR4,[Khyber Pakhtunkhwa] as STR5,[Punjab] as STR6, [Federal] as STR7, [FATA] as STR8, [Gilgit Baltistan] as STR9
                    FROM(
                        SELECT C_SubItems.SubItemName AS [Components], Province.Province AS [ProvinceName],COUNT(*) AS [Total Components] FROM University
                        INNER JOIN Province ON Province.id=University.provinceID
                        INNER JOIN Projects ON University.ID=Projects.ExecutingAgency_University
                        INNER JOIN ProjectItems ON Projects.ID=ProjectItems.ProjectID
                        INNER JOIN C_ProjectISubtems_CivilWorks ON ProjectItems.id=C_ProjectISubtems_CivilWorks.ProjectItemsID
                        INNER JOIN C_SubItems ON C_SubItems.ID=C_ProjectISubtems_CivilWorks.C_SubItemID
                        GROUP BY C_SubItems.ID, C_SubItems.SubItemName,Province.Province HAVING COUNT(*)>=1
                    )AS C_SubItems
                    PIVOT(
                    SUM([Total Components] ) FOR ProvinceName IN ([Azad Jammu amp; Kashmir],[Balochistan],[Sindh],[Khyber Pakhtunkhwa],[Punjab], [Federal], [FATA], [Gilgit Baltistan])
                    )Result";
           
            _dsreport = db.getDataSet(ref cmd);



            //Todo: 

            if (_dsreport != null)
            {
                if (_dsreport.Tables.Count > 0)
                {
                    if (_dsreport.Tables[0].Rows.Count > 0)
                    {
                        _dsreport.Tables[0].TableName = "GenRptFields";
                        ReportDocument rptDoc = new ReportDocument();
                        rptDoc.Load(Server.MapPath("ProvinceWiseDistributionCivilWork.rpt"));
                       
                        rptDoc.SetDataSource(_dsreport);
                        vwrReport.ReportSource = rptDoc;
                        vwrReport.RefreshReport();
                        vwrReport.DataBind();
                        rptDoc.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, false, "printrpt");
                    }
                    else
                    {
                        vwrReport.ReportSource = null;
                        vwrReport.DataBind();
                        DivError.Visible = true;
                        lblError.Text = "No record(s) found for the specified criteria.";
                    }
                }
                else
                {
                    vwrReport.ReportSource = null;
                    vwrReport.DataBind();
                    DivError.Visible = true;
                    lblError.Text = "No record(s) found for the specified criteria.";
                }
            }

            else
            {
                vwrReport.ReportSource = null;
                vwrReport.DataBind();
                DivError.Visible = true;
                lblError.Text = g_strErrorMessage;
            }

        }
        catch (Exception exp)
        {

            DivError.Visible = true;
            lblError.Text = exp.Message;
        }
    }
}