'Microsoft' 파일 또는 어셈블리를 로드할 수 없습니다.보고서 뷰어.웹 양식'
저는 asp.net 의 보고서 뷰어를 사용하려고 시도하고 있으며 제 사이트를 업로드했습니다.그러나 보고서 뷰어가 포함된 내 페이지가 로드되면 다음 오류가 표시됩니다.
'Microsoft' 파일 또는 어셈블리를 로드할 수 없습니다.보고서 뷰어.웹 양식, 버전=11.0.0.0, Culture=중립, 공개 키Token=89845dcd8080cc91' 또는 해당 종속성 중 하나입니다.위치한 어셈블리의 매니페스트 정의가 어셈블리 참조와 일치하지 않습니다. (HRESULT에서 제외: 0x80131040)
ASP.NET 웹 사이트를 배포하는 것은 처음이라 무엇이 문제인지 잘 모르겠습니다.
이 링크를 통해 필요한 업데이트(문제가 있는 버전 nr, v11.0.0.0)를 설치하지 않았다는 단서를 얻었습니다.
ReportViewer 2012 업데이트 'Gotcha'에 유의해야 합니다.
업데이트 SQL Server 2008R2를 설치했습니다.SP2
Microsoft® SQL Server® 2012용 Microsoft® 시스템 CLR 유형을 설치해야 하는 ReportViewer.msi를 다운로드했습니다.
WebForms (GAC는 WebForms v11.0.0)을 할 수 있게 .C:\Windows\assembly\Microsoft.ReportViewer.WebForms
v11.0.0.0
만 아니라Microsoft.ReportViewer.Common
v11.0.0.0
)
Microsoft를 설치했습니다.ReportViewer.2012.런타임 너겟 패키지 및 문제는 ReportViewer.msi 또는 sql 기능 팩 12를 설치하지 않고 해결되었습니다.
Microsoft를 모두 참조해야 합니다.보고서 뷰어.웹 양식 및 마이크로소프트.보고서 뷰어.공통이고 CopyLocal 속성을 true로 설정합니다.그러면 dll이 bin 디렉토리에 복사됩니다(둘 다 필요).
저는 두 가지를 복사하여 문제를 해결했습니다.
- 마이크로소프트.보고서 뷰어.WebForms.dll 원본
C:\Program Files (x86)\Microsoft Visual Studio 12.0\ReportViewer
- 및 마이크로소프트 .reportviewer.common.dll의
C:\Program Files\Microsoft Office\Office15\ADDINS\PowerPivot Excel Add-in
bin 폴더(아래쪽)로 이동합니다.
이죠.web.config
다음이 있어야 합니다.
<httpHandlers>
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" validate="false" />
</httpHandlers>
<assemblies>
<add assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" />
<add assembly="Microsoft.ReportViewer.Common, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" />
</assemblies>
<buildProviders>
<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</buildProviders>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</handlers>
</system.webServer>
그리고 그게 다에요.저는 괜찮습니다.
이게 도움이 되길 바랍니다.
보고서 뷰어 업데이트가 작동해야 합니다.아래 지침에 따라 Nuget Package Manager 콘솔에서 업데이트된 ReportViewer를 설치합니다.
Microsoft를 설치 - 패키지합니다.보고 서비스.보고서 뷰어 컨트롤.웹 양식
아래 어셈블리 참조를 aspx 파일에 추가하기만 하면 됩니다.
여기서 15.0.0.0은 ReportViewerControl의 버전 번호입니다.VS에 설치된 웹 양식입니다.솔루션 참조를 확인하여 버전 번호를 확인하십시오.PublicToken을 추가할 필요가 없습니다. 여러 번 설치하면 다시 문제가 발생할 수 있습니다.
저도 같은 오류에 부딪혔습니다.내 웹 앱은 보고서 뷰어 버전 10.0을 가리키고 있었지만 11.0이 설치되면 10.0.dll에서 11.0으로 리디렉션됩니다.이 문제는 11.0을 제거할 때 문제가 되었는데, 이는 10.0.dll의 리디렉션이 수정되지 않기 때문입니다.제 경우 수정 사항은 10.0을 제거하고 다시 설치하는 것이었습니다.
오래된 웹폼 앱에서 이 오류가 발생했습니다.마크업에 선이 있어서 문제가 발생한 것으로 밝혀졌습니다.제가 그것을 제거했고 오류가 사라졌습니다.
<%@ Register assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" namespace="Microsoft.Reporting.WebForms" tagprefix="rsweb" %>
버전 10.0.0.0에서 시작할 때 이 오류가 발생했습니다. 예를 들어, "Microsoft.보고서 뷰어.웹 양식, 버전=10.0.0.0, Culture=중립, 공개 키토큰=b03f5f7f11d50a3a" />
버전 11.0.0.0으로 변경합니다.
"마이크로소프트.보고서 뷰어.웹 양식, 버전=11.0.0.0, Culture=중립, 공개 키토큰=89845dcd8080cc91"
위에서 보시는 것처럼 버전뿐만 아니라 공개 토큰 키도 변경된 것으로 이해하기까지 시간이 좀 걸렸습니다.
다른 패키지에서도 같은 오류가 발생했습니다.제 문제는 종속 프로젝트가 다른 버전을 참조하고 있다는 것이었습니다.저는 그것들을 같은 버전으로 바꿨고 모든 것이 좋았습니다.
내 솔루션은 다음과(와)
- dll을 복사합니다.보고서 뷰어.WebForms.dll을 프로젝트의 Bin 폴더에 저장합니다.
- 참조를 제거합니다.
- bin 폴더에서 새 참조를 추가합니다.
이것이 도움이 되길 바랍니다.
Microsoft 파일을 업로드합니다.보고서 뷰어.WebForms.dll을 웹 응용 프로그램의 bin 디렉토리로 이동합니다.
이 dll 파일은 로컬 웹 응용프로그램의 bin 디렉토리에서 찾을 수 있습니다.
데브익스프레스 평가판이 만료되었습니다.다시 갱신해 보십시오.
서버의 데이터를 사용하여 보고서 뷰어를 서버에서 실행하려면 다음과 같이 하십시오.
프로젝트 속성으로 이동 ----> 참조 선택 ----> 참조 추가
가져오기(Microsoft).보고서 뷰어.Common.dll)-----> (경로 "C:\Program Files(x86)\Microsoft Visual Studio 10.0\보고서 뷰어")
가져오기(Microsoft).보고서 뷰어.ProcessingObjectModel.dll) -----> (경로 "C:\Windows\어셈블리\GAC_MSIL\Microsoft.보고서 뷰어.처리 개체 모델")
가져오기(Microsoft).보고서 뷰어.WebForms.dll)-----> (경로 "C:\Program Files(x86)\Microsoft Visual Studio 10.0\보고서 뷰어")
위의 세 DLL에서 "로컬 복사"를 "참"으로 설정하여 배포 패키지를 빌드하는 동안 "빈" 폴더에 복사됩니다.
솔루션 게시
그런 다음 "File Zilla" 소프트웨어를 사용하여 "Bin" 폴더와 함께 모든 파일을 "Web Server"에 업로드합니다.
이렇게 하면 서버에 DLL이 설치되므로 클라이언트에 "Report Viewer.dll"이 필요하지 않습니다.
이것은 저에게 효과가 있었습니다.
저도 같은 문제가 있었습니다.
Microsoft-Report-Viewer-2010-Redistributable("ReportViewer.exe")을 설치하여 문제를 해결했습니다.
언급URL : https://stackoverflow.com/questions/16493817/could-not-load-file-or-assembly-microsoft-reportviewer-webforms
'programing' 카테고리의 다른 글
현재 시스템을 가져옵니다.HttpContext의 Web.UI.Page? (0) | 2023.06.07 |
---|---|
facet_grid 플롯의 스트립 텍스트를 어떻게 조작할 수 있습니까? (0) | 2023.06.07 |
HttpContext에 액세스할 수 없습니다.현재의 (0) | 2023.06.07 |
패싯 레이블 글꼴 크기 (0) | 2023.06.07 |
벡터에 따라 데이터 프레임 행 순서 지정 (0) | 2023.06.07 |