Проблема развертывания сервера MVC .NET + - PullRequest
0 голосов
/ 14 апреля 2011

Я загрузил свою базу данных, а также файлы на сервер, используя FTP995.Я использую хостинг-сервер Go Daddy , и у них есть уровень доверия как Средний для всех приложений, которые они поддерживают,

Когда я пытаюсь запустить свой сайт, он даже не показывает мне страницу входа...

throwing exception

System.Security.Policy.PolicyException: Required permissions cannot be acquired.

Ошибка источника:

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

Трассировка стека:

[PolicyException: Required permissions cannot be acquired.]
   System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Boolean checkExecutionPermission) +7606579
   System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Int32& securitySpecialFlags, Boolean checkExecutionPermission) +57

[FileLoadException: Could not load file or assembly 'Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Failed to grant minimum permission requests. (Exception from HRESULT: 0x80131417)]
   System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) +0
   System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) +43
   System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +127
   System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +142
   System.Reflection.Assembly.Load(String assemblyString) +28
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +46

[ConfigurationErrorsException: Could not load file or assembly 'Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Failed to grant minimum permission requests. (Exception from HRESULT: 0x80131417)]
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +613
   System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +203
   System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +105
   System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +178
   System.Web.Compilation.BuildProvidersCompiler..ctor(VirtualPath configPath, Boolean supportLocalization, String outputAssemblyName) +54
   System.Web.Compilation.CodeDirectoryCompiler.GetCodeDirectoryAssembly(VirtualPath virtualDir, CodeDirectoryType dirType, String assemblyName, StringSet excludedSubdirectories, Boolean isDirectoryAllowed) +600
   System.Web.Compilation.BuildManager.CompileCodeDirectory(VirtualPath virtualDir, CodeDirectoryType dirType, String assemblyName, StringSet excludedSubdirectories) +128
   System.Web.Compilation.BuildManager.CompileResourcesDirectory() +31
   System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +304

[HttpException (0x80004005): Could not load file or assembly 'Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Failed to grant minimum permission requests. (Exception from HRESULT: 0x80131417)]
   System.Web.Compilation.BuildManager.ReportTopLevelCompilationException() +58
   System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +512
   System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters) +729

[HttpException (0x80004005): Could not load file or assembly 'Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Failed to grant minimum permission requests. (Exception from HRESULT: 0x80131417)]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +8894031
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +85
   System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +259

....................................................................................

После этого я установил уровень доверия = "Средний", <trust level="Medium" /> в свой web.configи развернут снова ..

Затем отображается ошибка как

Описание: Произошла ошибка при обработке файла конфигурации, необходимого для обслуживания этого запроса.Пожалуйста, просмотрите подробности конкретной ошибки ниже и измените файл конфигурации соответствующим образом.

Сообщение об ошибке Parser: этот раздел конфигурации не может использоваться по этому пути.Это происходит, когда администратор сайта заблокировал доступ к этому разделу с помощью унаследованного файла конфигурации.

Ошибка источника:

Line 157:      <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 158:    </httpModules>
Line 159:    <trust level="Full" />
Line 160:  </system.web>
Line 161:  <system.codedom>

Source File: D:\Hosting\7734726\html\web.config    Line: 159

Ответы [ 2 ]

2 голосов
/ 14 апреля 2011

Прочтите сообщение об ошибке.

[FileLoadException: не удалось загрузить файл или сборку 'Microsoft.ReportViewer.Common, версия = 9.0.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a' или одна из ее зависимостей. Не удалось предоставить минимальные запросы на разрешение. (Исключение из HRESULT: 0x80131417)]

Вы пытаетесь использовать сборку со средним доверием, которая не будет работать со средним доверием. (Microsoft.ReportViewer.Common)

3 решения

A) Попросите вашего хостинг-провайдера установить сборки Microsoft.ReportViewer в GAC (это может помочь), но они, вероятно, неохотно сделают это

B) Найти новую хостинговую среду с полным доверием или аналогичной

или

B) Переписать ваше приложение, чтобы оно не зависело от этой сборки.

Если вы разрабатываете приложение, которое будет развернуто в среде со средним уровнем доверия, вы должны установить trust = "medium" во время разработки приложения, чтобы вы могли обнаружить любые такие проблемы во время разработки, а не развертывания.

0 голосов
/ 14 апреля 2011

Вы пытались развернуть свой сайт непосредственно из функции публикации в Visual Studio?

Возможно, ваш FTP-клиент устанавливает неправильные разрешения.

Если ваша сборка отчетов не может работать с доверием СМИ, тогда найдите лучшего хостинг-провайдера, там их много:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...