Итак, вы хотите, чтобы ваше приложение работало как в SharePoint 2007, так и в 2010 году, верно?
У вас есть два варианта: -
A) Самое простое - просто сослаться на DLL-файлы SharePoint 2007 в вашем проекте и внести небольшое изменение в манифест пакета, чтобы удалить атрибут SharePointProductVersion.
Это будет нормально работать в SharePoint 2007, а в SharePoint 2010 уже установлено BindingRedirects , поэтому веб-части 2007 будут «просто работать» в 2010 году.
См. «Разработка веб-частей SharePoint 2007 с использованием Visual Studio 2010»
Однако - это означает, что вы не можете использовать ни одну из новых функций SharePoint 2010, которых не было в 2007 году
B) Более продвинутым методом является использование некоторых ходов ниндзя MSBUILD для вывода двух «целей» (версий вашей программы) - одна нацелена на 2007, а другая 2010. Вы модифицируете файл .csproj для ссылки на соответствующую версию Microsoft. SharePoint.dll и использовать условную компиляцию, чтобы сохранить тот же исходный код с небольшими отличиями при необходимости. Это довольно продвинутый материал, и он редко нужен, поэтому я не буду вдаваться в подробности, но у вас есть ключевые слова для дальнейшего исследования, если это необходимо.