Конвертируем проект для Sharepoint 2010 в Visual Studio в проект для Sharepoint 2013

Недавно мы мигрировали несколько сайтов с Sharepoint 2010 на Sharepoint 2013. Солюшен Visual Studio с кастомизациями содержал несколько стандартных проектов для Sharepoint 2010 (wsp). Для миграции нужно было перекомпилировать их с использованием API 2013. Однако в Visual Studio 2012 мы не нашли стандартного способа изменить целевую платформу с 2010 на 2013. Так что для миграции были созданы несколько пустых проектов для Sharepoint 2013 и все файлы были скопированы туда вручную. Затем изменили все ссылки на Microsoft.SharePoint.*.dll с версии 14 на 15 (т.к. Sharepoint 2013 основан на .Net 4.5, сборки с его API находятся в новом GAC-е: C:\Windows\Microsoft.NET\assembly\, а не в C:\Windows\assembly\ как это было для .Net 3.5. В этом обсуждении на форуме можно найти информацию, почему это было сделано: .NET 4.0 has a new GAC, why?). (Кроме замены ссылок, нужно было сделать еще несколько фиксов, но о них я напишу в отдельном посте про миграцию). После этого мы собрали wsp и сравнили содержимое с помощью утилиты сравнения файлов и папок.

Описанный способ работал, но ручное копирование файлов из старых проектов и проверка, что при копировании мы ничего не потеряли, заняло время. Rainer Dümmler в переписке рассказал мне о способе автоматизировать этот процесс, которые они нашли, и я с разрешения автора размещаю его в своем блоге (у него пока нет своего блога. Надеюсь, что это только временно). Для изменения целевой платформы на Sharepoint 2013 необходимо отредактировать .csproj файл (это можно сделать в блокноте или в Visual Studio, предварительно выгрузив проект): надо заменить значение для тега TargetFrameworkVersion с v3.5 на v4.5. В принципе это можно было сделать и через UI. Но это не все. После этого необходимо добавить тег TargetOfficeVersion сразу после него:

 <targetofficeversion>15.0</targetofficeversion> 

После изменений файл должен выглядеть следующим образом:

image

После этого в подпапке Package отредактируйте файл Package.package: добавьте атрибут sharePointProductVersion=»15.0″ после атрибута resetWebServer.

После этого загрузите .csproj файл в Visual Studio 2012 – студия завершит конвертацию автоматически, измените ссылки на 15 API, перекомпилируйте и пересоберите wsp. После этого wsp можно устанавливать на ферму Sharepoint 2013 и завершать миграцию апгрейдом сайт коллекций на 2013 mode.

Реклама

Об авторе sadomovalex

Старший инженер, team lead, консультант. Работаю в стеке .Net. Последние несколько лет занимаюсь разработкой enterprise приложений под Sharepoint, чему и будет в основном посвящена тематика этого блога. Также активно использую и интересуюсь ASP.Net MVC, DDD, TDD, Agile. Активно участвую в жизни многих профессиональных сообществ, SPb .Net UG, SPb ALT.Net, rsdn, Finland SP UG и др.
Запись опубликована в рубрике Uncategorized. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s