#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)
, Однако я ищу в Интернете следующую ошибку, что я сделал до сих пор, чтобы исправить это
- Я включаю 32-разрядный пул приложений в IIS.
- %системный диск%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;
}
}
}