Как развернуть решение SharePoint 2010 (WSP) в SharePoint 2007
Привет, я знаю, это немного саркастично, но у меня есть простой сценарий, мы работали над визуальной веб-частью для SharePoint 2010 с использованием VS 2010; это было красиво и гладко, поэтому мы решили включить его в один из наших старых проектов.
Первый сценарий пришёл мне в голову (как разработчику): скопировать файлы кода из решения VS 2010 в решение VS 2008, используя VSeWSS, подготовить новый WSP и развернуть его. Но позже я подумал, что возможно будет просто развернуть текущий WSP; но, к сожалению, это не работает, и выдает ошибку ниже.
Манифест решения для решения "bac64dd2-95ab-4f22-a4a9-99499652688d" не прошел проверку, файл manifest.xml, строка 2, символ 110: атрибут "SharePointProductVersion" не объявлен. SPCurrentWebTreeViewWP.wsp: установка решения не удалась.
Что вы предлагаете в качестве хорошего подхода, это копировать и вставлять? или играйте с Manifest.xml .. Спасибо или помогите
4 ответа
Невозможно сказать, действительно ли созданная веб-часть совместима с SharePoint 2007, не видя код. Все зависит от того, используете ли вы что-то специфичное для SharePoint 2010.
Тем не менее, технически ничто не мешает визуальной веб-части, созданной с помощью Visual Studio 2010, нормально работать под SharePoint 2007. И, как указывает Niels Gjeding Olsen в своем ответе, для создания решений 2007 под VS2010 доступны учебные пособия. Не забудьте проверить это.
Ваша конкретная ошибка находится в самом файле манифеста, и для исправления необходимо удалить SharePointProductVersion
атрибут из пакета. Для этого откройте файл Package.package в Solution Explorer. В панели свойств найдите параметр версии продукта SharePoint и очистите значение (для него будет задано значение 14.0
). Это должно удалить атрибут в базовом файле манифеста. Перестройте и упакуйте свое решение и попробуйте выполнить развертывание снова.
Как я уже сказал, нет никаких гарантий, что это сработает, но это поможет вам преодолеть вашу текущую ошибку.
Эта ссылка описывает, как сделать веб-части для SP2007 с помощью среды разработки SP2010:
Вы не можете этого сделать. В двух версиях слишком много изменений, чтобы включить SharePoint 2010 Visual WebPaprt в SharePoint 2007. Обратное было бы намного проще.
Я предлагаю начать смотреть на SmartPart (http://smartpart.codeplex.com/), который является самым близким к Visual Webpart в 2007 году.
Ошибка довольно очевидна, что файлы манифеста отличаются в wsp, я бы порекомендовал собрать его в vs2008 и просто использовать одни и те же блоки кода. (при условии, что вы используете код, который будет работать в 2007 году)