Вызов неоднозначен между следующими методами или свойствами: ‘Umbraco.Web.UmbracoHelper.Media(параметры int[])’ и ‘Umbraco.Web.UmbracoHelper

#razor #umbraco #umbraco7 #umbraco8

#razor #umbraco #umbraco7 #umbraco8

Вопрос:

Недавно я попытался обновить свой веб-сайт с U7.15.6 до U8. Я только что скопировал /bin /umbraco /config на свой текущий веб-сайт с помощью FileZilla

Когда я попытался откатиться к U7.15.6, я получил следующую ошибку:

Вызов неоднозначен между следующими методами или свойствами: ‘Umbraco.Web.UmbracoHelper.Media(параметры int[])’ и ‘Umbraco.Web.UmbracoHelper.Media(параметры string[])’ Описание: Необработанное исключение возникло во время выполнения текущего веб-запроса. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: Microsoft.CSharp.RuntimeBinder.Исключение RuntimeBinderException: вызов неоднозначен между следующими методами или свойствами: ‘Umbraco.Web.UmbracoHelper.Media(параметры int[])’ и ‘Umbraco.Web.UmbracoHelper.Media(параметры string[])’

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

 Line 20:    var section_node = Umbraco.Content(1xxx);    
Line 21:    var Section_pagesToList = @Section_node.Children.Where("Visible");
Line 22:    Section_pagesToList = Section_node.DescendantsOrSelf().Where("NodeTypeAlias == @0", "NewsPage");
 

Итак, что я сделал, я изменил строку 21 следующим образом:

 string[] Section_pagesToList = @Section_node.Children.Where("Visible");
 

Но теперь я получаю другую ошибку в другой части страницы — там, где я отображаю изображение объекта этого раздела:

  Line 81:               <div class="col-xl-6 col-lg-6 col-md-4 MainNewsBox">
Line 82:                    <figure>
Line 83:                        @if (Section_pagesToList.Last().HasValue("articleImg"))     
 

Ошибка в строке 83:

 Compiler Error Message: CS1929: 'string' does not contain a definition for 'HasValue' and the best extension method overload 'PublishedContentExtensions.HasValue(IPublishedContent, string)' requires a receiver of type 'IPublishedContent'
 

Как я могу решить эту проблему и вернуть свой веб-сайт обратно?

Спасибо.

Ответ №1:

Я думаю, вам нужно будет переустановить версию 7.15.6, чтобы вернуть нужные библиотеки DLL обратно, если вы не можете выполнить откат через VCS. Возможно, воспользуйтесь этой возможностью, чтобы начать использовать Nuget. Что касается v7 -> v8, прямого способа обновления нет. На https://our.umbraco.com вы можете найти более подробную информацию о том, как выполнить миграцию (!) на версию 8.

Комментарии:

1. Привет, я уже пытался выполнить откат, удалив /bin /umbraco /umbraco_client /config и т. Д. Со своего сервера и скопировав новые папки, которые я загрузил с нашего.umbraco — безуспешно. Затем я попытался установить локально, используя Visual Studio и Nuget, но когда я вставил свой файл .sdf в локальный App_Data, я получил ошибку, указанную выше, также на локальном. Может быть, версия 8 изменила мою базу данных?