Проблемы зависимости развертывания MVC3 - PullRequest
27 голосов
/ 20 января 2011

Я только что попытался развернуть приложение MVC3 в нашей среде размещения IIS7, но мне представляется следующее исключение:

Не удалось загрузить тип 'Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility 'из сборки' Microsoft.Web.Infrastructure, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 '.Описание: во время выполнения текущего веб-запроса произошло необработанное исключение.Просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.TypeLoadException: не удалось загрузить тип «Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility« from Assembly »Microsoft.Web.Infrastructure, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 '.

Есть предложения?

Приложение не развернуто, как у меняустановлены веб-страницы ASP.Net и MVC3 на самом веб-сервере.

Ответы [ 5 ]

50 голосов
/ 20 января 2011

Это потому, что Microsoft.Web.Infrastructure нет в вашем GAC.Вам нужно добавить эту ссылку в ваш проект.Щелкните правой кнопкой мыши ссылку и перейдите к свойствам, затем установите для копии значение local.1010 *

9 голосов
/ 06 апреля 2015

Оказывается, после очистки ссылок он удалил Microsoft.Web.Infrastructure, но не из файла packages.config. После попытки добавить его снова с помощью Package Manager Console Visual Studio говорит, что он уже установлен, что неверно, поскольку он был удален.

Затем я удалил строку кода в файле packages.config

<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" />

и снова запустил команду

PM> Install-Package Microsoft.Web.Infrastructure

После этого теперь все работает нормально.

5 голосов
/ 19 декабря 2012

Microsoft.Web.Infrastructure теперь является пакетом Nuget, и его можно добавить в ваш проект для включения развертывания каталога bin -

http://nuget.org/packages/Microsoft.Web.Infrastructure

2 голосов
/ 20 января 2011

Убедитесь, что в корневом файле web.config на вашем сервере (расположенном где-то как здесь: C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\web.config) есть следующая запись:

<configuration>
  <location allowOverride="true">
    <system.web>
      <fullTrustAssemblies>
        <add
          assemblyName="Microsoft.Web.Infrastructure"
          version="1.0.0.0"
          publicKey="[bunch of letters and numbers]"
        />

Если он отсутствует, значит, кто-то испортил вашу установку .NET 4.

0 голосов
/ 22 февраля 2019

скачайте Microsoft.Web.Infrastructure.dll и скопируйте его в папку bin!

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