Не удалось загрузить файл или сборку «Microsoft.ReportViewer.WebForms», несмотря на отсутствие ссылок - PullRequest
0 голосов
/ 19 мая 2018

Я встречал это сообщение об ошибке в моих проектах ASP.NET, но этот последний экземпляр действительно сбивает меня с толку, потому что нигде в моем проекте я не могу найти никаких ссылок на ReportViewer.Ищете любые предложения о том, как выяснить, откуда это исходит.Ниже приведена информация о трассировке стека:

    [FileNotFoundException: Could not load file or assembly 'Microsoft.ReportViewer.WebForms, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.]
   System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0
   System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +457
   System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection) +110
   System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +22
   System.Reflection.Assembly.Load(String assemblyString) +34
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +48

[ConfigurationErrorsException: Could not load file or assembly 'Microsoft.ReportViewer.WebForms, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.]
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +729
   System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +69
   System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +226
   System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies() +73
   System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath, Boolean& isRefAssemblyLoaded) +321
   System.Web.Compilation.BuildManager.ExecutePreAppStart() +170
   System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +878

[HttpException (0x80004005): Could not load file or assembly 'Microsoft.ReportViewer.WebForms, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +525
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +124
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +700

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Хотя я так и не смог определить причину ошибки, описанной выше, я нашел обходной путь, скопировав несколько сборок в папку проекта \ bin из одного из моих других рабочих приложений на этом сервере.Эти сборки включают в себя:

Microsoft.ReportViewer.*
Microsoft.AI.Web
Microsoft.ApplicationInsights
Microsoft.AspNet.*

... и несколько других.Меня все еще беспокоит, почему это было даже необходимо, так как код отлично работал не только на моей машине разработчика, но и на другом тестовом веб-сервере, на котором я впервые его развернул.Если мой проект не имеет проверяемых ссылок на эти вещи, но все еще зависит от них, тогда я ожидаю, что инструмент публикации должен обеспечить развертывание этих зависимостей вместе с остальной частью моего кода.

0 голосов
/ 19 мая 2018

Многие элементы управления Asp.Net требуют поддержки библиотеки средства просмотра отчетов для визуализации вывода.Итак, попробуйте установить пакет Microsoft Report Viewer Redistributable и попробуйте скомпилировать решение.Вы, возможно, удалили это в процессе установки или позже по неосторожности.

Вы также можете попробовать пойти и проверить, есть ли у вас [Microsoft.ReportViewer.WebForms] и связанные сборки, перечисленные в GAC [C: \ Windowsпапка \ Assembly].Если его там нет, то это явный признак того, что неявные зависимости недоступны на вашей рабочей станции.

...