2014-01-27 27 views
2

Пожалуйста, помогите мне исправить эту проблему.Не удалось загрузить файл или сборку «System.Web.WebPages.Razor, Version = 2.0.0.0, Culture = нейтральная или одна из ее зависимостей

Приложение Umbraco в качестве родителя на IIS6 имеет следующую версию System.Web.WebPages.Razor.

<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
    <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
    <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
    </sectionGroup> 

    <system.web.webPages.razor> 
    <host factoryType="System.Web.WebPages.Razor.WebRazorHostFactory, System.Web.WebPages.Razor" /> 
    <pages pageBaseType="System.Web.WebPages.WebPage"> 
    <namespaces> 
    <add namespace="Microsoft.Web.Helpers" /> 
    <add namespace="umbraco" /> 
    <add namespace="Examine" /> 
    </namespaces> 
</pages> 

Блог приложение Engine в качестве виртуального каталога под приложением Umbraco на IIS6 имеет следующую версию System.Web.WebPages.Razor.

<configSections> 
<remove name="system.web.webPages.razor" /> 
</configSections> 

<assemblies> 
<add assembly="System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
</assemblies> 

<dependentAssembly> 
<assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31BF3856AD364E35" culture="neutral" /> 
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> 
</dependentAssembly> 

Даже после того, как я добавил dependentAssembly еще ничего не работает для меня, Am тратить больше недели по этому вопросу, пожалуйста, помогите.

+0

Может лет u подтвердите, какая версия Umbraco, пожалуйста? – ProNotion

+0

Версия Umbraco - 4.9.0 – Hudson

ответ

3

@ProNotion прав, я видел все больше и больше пакетов на Umbraco, полагающихся на конкретные версии сборок, вызывающих конфликты сборок, особенно если два пакета нуждаются в разных версиях одной и той же сборки.

Таким образом, некоторые другие советы:

Этот инструмент от MS помогает диагностировать сборочный обязательные проблемы (http://msdn.microsoft.com/en-us/library/e74a18c4%28v=vs.71%29.aspx).

Добавление выполнение/assemblyBinding секции в web.config может работать круглые проблемы с конфликтующими сборками (http://msdn.microsoft.com/en-us/library/0ash1ksb(v=vs.110).aspx)

Иногда сборка не копируются (например, вы используете MSBuild и сборку не входят в проект), поэтому вы также должны проверить, удалось ли сборке сделать это на реальном сервере.

+0

Спасибо Мелвин, я разобрал проблемы, которые, как вы сказали, вызвали из-за привязки сборки между приложением Umbraco и приложением BlogEngine. – Hudson

5

Вы проверили фактическую версию System.Web.WebPages.Razor, которая в настоящее время развернута в вашей папке с bin? Недавно у меня была аналогичная проблема в многопроектном решении, и в одном из проектов использовалась более старая версия сборки через Nuget, которая оказалась той, которая оказалась в папке bin, что вызвало аналогичную ошибку. На самом деле я уверен, что это пакет Umbraco Nuget, который копируется в старой сборке.

+0

Большое спасибо за ваш отзыв, действительная монтажная версия System.Web.WebPages.Razor.dll, которая находится в папке bin Umbraco, составляет 1.0.0.0 и фактическую версию сборки System.Web. WebPages.Razor.dll, который находится в папке bin в блоге Engine 2.0.0.0 Спасибо, – Hudson

+0

Прошло некоторое время с тех пор, как я работал над проектом с вложенными приложениями, поэтому я не уверен на 100%, как работает наследование похоже, что ваше приложение BlogEngine видит только сборки в каталоге bin родительских приложений, например один с сборкой v1.0.0.0. – ProNotion

3

Наконец, я исправил эту проблему. (Ребенок приложение) Блог двигателя версии Razor Скрипт 2.0.0.0 и Umbraco (Parent приложение) версии Razor сценарий 4.1.6 приложения является 1.0.0.0, я добавил ниже в web.config ребенка

<dependentAssembly> 
<assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31BF3856AD364E35" culture="neutral" /> 
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> 
</dependentAssembly> 

После выше добавлено, я избавлюсь от этой ошибки, и я столкнулся с одинаковыми ошибками зависимостей для ниже, и я добавил соответствующую зависимую сборку и версию.

Microsoft.Web.Helpers.dll 
Examine.dll 
Umbraco.dll 
WebGrease.dll 

Для выше трех зависимости не представит в папке бен дочернего приложения, вам необходимо скопировать DLL файлы из папки родительского бен и добавить его в дочерней папке бин, который будет сортировать все проблемы зависимости.

Для любого развертывания проблем в BlogEngine как виртуального каталога и Umbraco в качестве родительского приложения оставьте свое сообщение, чтобы помочь решить проблему с любыми разными версиями.

2

Прошу выполнить следующие шаги.

  1. Проверьте версию System.Web.Webpages в ваших ссылках. Скажите, что ваша версия = X.X.X.X

2.In WebConfig

a.Add сборку первого

<assemblies>   
    <add assembly="System.Web.WebPages, Version=X.X.X.X, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
</assemblies> 

b.Bind сборки для выполнения

<runtime> 
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <dependentAssembly> 
    <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31BF3856AD364E35" culture="neutral"/> 
    <bindingRedirect oldVersion="0.0.0.0-X.X.X.X" newVersion="X.X.X.X"/> 
    </dependentAssembly>   
</assemblyBinding> 

3.Make уверен вы добавили правильный ключ

<appSettings> 
    <add key="webpages:Version" value="X.X.X.X"/> 
</appSettings> 

Это сработало для меня. Надеюсь, это тоже поможет.

+0

Из всех ответов, упомянутых здесь, это единственный, который работал на меня. Благодаря @Liakat –

0

Когда-нибудь, вы будете иметь ошибку между

System.Web.WebPages.Razor 
and 
System.Web.Razor 

Try посмотреть и проверить

0

создать новую область, правильный проект щелчка, Add Area

Скопировать в web.config из взглядов папки в этой области до /views/web.config

удалить из поля

Смежные вопросы

 Смежные вопросы