Сбои MSBUILD 4.0 на расширениях Ajax

Мы имеем веб-приложение.Net 2.0 и преобразовываем решение и проекты к Visual Studio 2010 (они были Visual Studio 2005). Мы оставляем проект, предназначающийся для Платформы 2.0. Приложение включает расширения Ajax. Мы сделали преобразование и можем разработать проект успешно на сервере с помощью Visual Studio. Однако, когда мы пытаемся разработать проект через MSBUILD 4.0, мы получаем ошибки на страницах, где средства управления ajax используются, такие как следующее:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1360, 9): предупреждение MSB3267: основная ссылочная "Система. Сеть. Расширения, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL", который является блоком платформы, не могли быть разрешены в в настоящее время целенаправленной платформе. ".NETFramework, Version=v2.0". Для разрешения этой проблемы любой удаляет ссылочную "Систему. Сеть. Расширения, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" или перенастраивают Ваше приложение к версии платформы, которая содержит "Систему. Сеть. Расширения, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL". [C:\Inetpub\wwwroot\gmrcwebsite\GMRCWebsite.vbproj]

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1360, 9): предупреждение MSB3268: основная ссылочная "Система. Сеть. Расширения. Дизайн, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" не могли быть разрешены, потому что он имеет косвенную зависимость от Системы "блока платформы. Сеть. Расширения, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", который не мог быть разрешен в в настоящее время целенаправленной платформе. ".NETFramework, Version=v2.0". Для разрешения этой проблемы любой удаляет ссылочную "Систему. Сеть. Расширения. Дизайн, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" или перенастраивают Ваше приложение к версии платформы, которая содержит "Систему. Сеть. Расширения, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35". [C:\Inetpub\wwwroot\gmrcwebsite\GMRCWebsite.vbproj]

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1360, 9): предупреждение MSB3268: основной ссылочный "AjaxControlToolkit, Version=1.0.10618.0, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e, processorArchitecture=MSIL" не могли быть разрешены, потому что он имеет косвенную зависимость от Системы "блока платформы. Сеть. Расширения, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", который не мог быть разрешен в в настоящее время целенаправленной платформе. ".NETFramework, Version=v2.0". Чтобы разрешить эту проблему, или удалить ссылочный "AjaxControlToolkit, Version=1.0.10618.0, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e, processorArchitecture=MSIL" или перенастраивают Ваше приложение к версии платформы, которая содержит "Систему. Сеть. Расширения, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35". [C:\Inetpub\wwwroot\gmrcwebsite\GMRCWebsite.vbproj]

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1360, 9): предупреждение MSB3267: основная ссылочная "Система. Сеть. Расширения. Дизайн, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL", который является блоком платформы, не мог быть разрешен в в настоящее время целенаправленной платформе. ".NETFramework, Version=v2.0". Для разрешения этой проблемы любой удаляет ссылочную "Систему. Сеть. Расширения. Дизайн, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" или перенастраивают Ваше приложение к версии платформы, которая содержит "Систему. Сеть. Расширения. Дизайн, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL". [C:\Inetpub\wwwroot\gmrcwebsite\GMRCWebsite.vbproj]

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1360, 9): предупреждение MSB3268: основной ссылочный "AjaxControlToolkit, Version=1.0.10618.0, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e, processorArchitecture=MSIL" не могли быть разрешены, потому что он имеет косвенную зависимость от Системы "блока платформы. Сеть. Расширения. Дизайн, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", который не мог быть разрешен в в настоящее время целенаправленной платформе. ".NETFramework, Version=v2.0". Чтобы разрешить эту проблему, или удалить ссылочный "AjaxControlToolkit, Version=1.0.10618.0, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e, processorArchitecture=MSIL" или перенастраивают Ваше приложение к версии платформы, которая содержит "Систему. Сеть. Расширения. Дизайн, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35". [C:\Inetpub\wwwroot\gmrcwebsite\GMRCWebsite.vbproj]

...

ошибка BC30451: 'ScriptManager' не объявляется. Это может быть недоступно из-за его уровня защиты. ошибка BC30002: Введите 'Систему. Сеть. UI.ScriptManager' не определяется. ошибка BC30002: Введите 'Систему. Сеть. UI.UpdatePanel' не определяется. ошибка BC30002: Введите 'Систему. Сеть. UI.UpdateProgress' не определяются.

Этот материал хорошо работал прежде и создает и хорошо работает при создании через Visual Studio. Что мы должны сделать для фиксации этих ошибок?

9
задан Bo Schatzberg 3 June 2010 в 16:33
поделиться

2 ответа

У меня была такая же проблема после настройки службы сборки TFS 2008 для использования MSBuild 4.0. Все работало до преобразования проектов, после преобразования в формат 2010 и перехода на MSBuild 4 внезапно не удалось найти библиотеки AJAX 1.0.61025.0.

Оказалось, что отсутствует раздел реестра, указывающий на место установки расширений MS Ajax.

В моем блоке разработчика ключ, который должен находиться в (64-битной ОС)

HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\ASP.NET AJAX Extensions

, был вместо этого помещен в HKEY_CURRENT_USER. (32-разрядная ОС: удалите часть Wow6432Node)

На сервере сборки ключ отсутствовал полностью (ни один из локально присутствующих профилей пользователей не имел его в своем кусте реестра).

Значение этого ключа по умолчанию должно указывать на каталог установки MS Ajax Extensions, который в моем случае равен

C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025

. После воссоздания ключа на сервере сборки наше решение успешно строится под MSBuild 4.

Он остается неизменным. Для меня загадка, почему он успешно строился до сих пор (под MSBuild 3.5). Возможно, алгоритм поиска сборки немного изменился и стал более строгим.

Надеюсь, что это поможет.

17
ответ дан 4 December 2019 в 11:40
поделиться

Здравствуйте, здесь вы найдете решение: http://www.developerit.com/2010/04/19/ms-ajax-libraries-and-configured-assemblies

1
ответ дан 4 December 2019 в 11:40
поделиться
Другие вопросы по тегам:

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