Có tìm kiếm toàn bộ rất nhiều bài viết similair, cách giải quyết, tôi quyết định làm bài của riêng tôi.C#: Loại 'Microsoft.Reporting.WebForms.ReportViewer' tồn tại trong cả hai ReportingServicesWebUserInterface.dll và Microsoft.ReportViewer.WebForms.dll
Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: CS0433:
The type
'Microsoft.Reporting.WebForms.ReportViewer'
exists in both
'c:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\reportmanager\Bin\ReportingServicesWebUserInterface.dll'
and
'c:\WINDOWS\assembly\GAC_MSIL\Microsoft.ReportViewer.WebForms\9.0.0.0__b03f5f7f11d50a3a\Microsoft.ReportViewer.WebForms.dll'
Cập nhật:
bài viết similair Hầu hết có như một vấn đề mà họ 2 DLL mâu thuẫn có một phiên bản 8.0.0.0 và 9.0.0.0, hoặc lâu hơn. Hoặc chúng nằm trong thư mục TEMPORARY. Tôi không nghĩ rằng vấn đề của tôi có thể được giải quyết một cách tương tự với những bài viết như vậy.
Trên máy chủ ReportServer của chúng tôi, có Report.aspx, hiển thị báo cáo. Tôi muốn thay thế tập tin này với riêng tôi, để thay đổi cách bố trí trang, như vậy:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Report.aspx.cs" Inherits="WebApplication._Default" %>
<%@ Register
Assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
Namespace="Microsoft.Reporting.WebForms"
TagPrefix="rsweb" %>
<!DOCTYPE>
<html>
<head runat="server"></head>
<body>
<div>
<form id="reportform" runat="server">
<div>
<rsweb:ReportViewer
ID='ReportViewerRoot'
runat='server'
ProcessingMode='Remote'
Height='100%'
Width='100%'
AsyncRendering='False'
SizeToReportContent='True'
/>
</div>
</form>
</div>
</body>
</html>
Điều này đòi hỏi một tham chiếu đến MS.ReportViewer.WebForms.DLL
tập tin của tôi Project.csproj có này:
<Reference Include="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
Tôi không thể gỡ cài đặt bất kỳ tệp DLL nào trong C: \ WINDOWS, vì nó cho biết nó là bắt buộc đối với các ứng dụng khác.
Tôi cũng đã cố gắng sửa đổi web.config, thêm một số dependAssemnly, nhưng không chắc chắn những gì sẽ hữu ích (Nó hữu ích cho sự khác biệt phiên bản được đề cập ở trên).
Hơn nữa tôi có những dòng này trong web.config:
<compilation defaultLanguage="c#" debug="false" tempDirectory="C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\RSTempFiles\">
<assemblies>
<clear />
<add assembly="ReportingServicesWebServer" />
</assemblies>
</compilation>
Cảm ơn bạn đã nhập vào của bạn. Tôi rất mong nhận được đề xuất của bạn.
bạn đã thử xóa một trong số chúng chưa? – Bastardo
Nó không rõ ràng với tôi như thế nào bạn đến vấn đề này, và những giải pháp mà bạn đã thử mà không làm việc? Bất kỳ cơ hội nào bạn có thể xây dựng trên một số bước mà chúng tôi có thể tái tạo tình huống này? – Jeroen
Bản cập nhật giúp, mặc dù tôi vẫn chưa hoàn toàn chắc chắn tình hình của bạn là gì. Có lẽ một [BindingRedirect] (http://msdn.microsoft.com/en-us/library/eftw1fys.aspx) để chuyển hướng cuộc gọi cho phiên bản 8 lên phiên bản 9 sẽ giúp bạn? – Jeroen