Вопрос по umbraco, blogengine.net, asp.net-mvc, iis-6, razor – Не удалось загрузить файл или сборку 'System.Web.WebPages.Razor, версия = 2.0.0.0, культура = нейтральная или одна из ее зависимостей

3

Пожалуйста, кто-нибудь, помогите мне решить эту проблему.

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

  
  
  
  

  
  
  
  
    
    
    
  

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













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

Можете ли вы подтвердить, какая версия Umbraco, пожалуйста? ProNotion
Umbraco версия 4.9.0 Hudson

Ваш Ответ

6   ответов
0

щелкните правой кнопкой мыши проект, Добавить, Площадь

Скопируйте файл web.config из папки представлений в этой области в /views/web.config

удалить область

2

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

2. В Webconfig

Сначала добавьте сборку

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

связать сборку для времени выполнения

<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">
  </bindingredirect></assemblyidentity></dependentassembly>        
</assemblybinding>
</runtime>

3. Убедитесь, что вы добавили правильный ключ

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

Это сработало для меня. НадеюсьЯ тоже тебе помогу.

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

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

Итак, некоторые другие советы:

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

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

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

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

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

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

Попробуй посмотри и проверь

5

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

Это'Прошло много времени с тех пор, как я работал над проектом, в который вложены приложения, поэтому яЯ не уверен на 100% в том, как работает наследование, однако, похоже, ваше приложение BlogEngine видит только сборки в каталоге bin родительских приложений, например, тот со сборкой v1.0.0.0. ProNotion
Большое спасибо за ваш ответ друг, актуальная сборочная версия System.Web.WebPages.Razor.dll, которая находится в Umbraco 'Папка s bin: 1.0.0.0 и фактическая версия сборки System.Web.WebPages.Razor.dll, которая находится в Blog Engine 'Папка s bin - 2.0.0.0. Спасибо, Hudson
4

s (дочернее приложение) Razor Script версии 2.0.0.0 и Umbraco (родительское приложение) 4.1.6 приложение 'S Razor скрипт версии 1.0.0.0, я добавил ниже в child 's 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">
</bindingredirect></assemblyidentity></dependentassembly>

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

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

Для вышеупомянутых трех зависимость не будет присутствовать в дочернем приложении 's Папка bin, вам необходимо скопировать dll-файлы из родительской папки bin и добавить ее в дочернюю папку bin, что позволит решить все проблемы с зависимостями.

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

Похожие вопросы