Создание решения, которое развертывается в выбранных веб-приложениях, но копирует сборку в GAC - PullRequest
4 голосов
/ 03 ноября 2010

Используя VisualStudio 2010 для создания решения SharePoint2010, я хочу развернуть свое решение для выбранных веб-приложений (не для всех).Я могу сделать это, переключив Assembly Deployment Target (Project Project) на WebApplication.Но тогда сборка не будет развернута в GAC.

Существует ли параметр, который разрешает развертывание для определенных веб-приложений, но развертывает сборку в GAC?

РЕДАКТИРОВАТЬ: Может быть, вопросТрудно понять, поэтому вот пример:

На ферме SharePoint у каждого клиента есть одно веб-приложение.Заказная функция, заказанная конкретным клиентом, должна использоваться только в веб-приложении клиента.Эта функция не должна отображаться в функциях SiteCollection или в функциях веб-сайтов других веб-приложений.

Однако область действия функции должна быть «Сайт» или «Интернет», чтобы ее можно было активировать только в частях портала клиентов.

Ответы [ 4 ]

3 голосов
/ 12 ноября 2010

Хорошо, теперь я понял: SharePoint попросит развернуть веб-приложение, как только WSP будет содержать элемент SafeControl. Поэтому, если вы добавите фиктивную веб-часть в проект VS или напрямую добавите элемент SafeControl в пакет в VS, WSP не будет автоматически развернут глобально.

3 голосов
/ 03 ноября 2010

Я не совсем уверен, каковы ваши конечные цели, но вы можете иметь в виду следующее:

Когда вы устанавливаете Assembly Target для Web Application, скомпилированная сборка (.dl) будет развернута вПапка Bin веб-приложения вместо GAC

Веб-приложение, в котором VS.Net развертывает РЕШЕНИЕ (.wsp), определяется свойством «URL сайта» проекта.

Если только выПри создании решения Sandboxed функции, развертываемые на сервере, доступны всем веб-приложениям независимо от веб-приложения, на котором развернут WSP.Иногда вам может потребоваться развернуть WSP в конкретном веб-приложении, потому что WSP может выполнять следующие действия в зависимости от содержимого вашего WSP.Например, он может развертывать сборки в папке bin веб-приложения, он может копировать файлы .resx в папки вашего веб-приложения, он может изменять файл web.config для вставки записей, необходимых для функциональности ваших функций и т. Д.

Если вы хотите развернуть WSP более чем в одном веб-приложении, есть несколько вариантов, если назвать несколько: использование команды post build в VS.Net, использование центра администрирования, использование STAADM или использование Powershell.

Если вы используете SharePoint 2010, вы можете развернуть решение строго для одного семейства сайтов, которое не влияет на другие семейства сайтов в том же веб-приложении или в других семействах сайтов в других веб-приложениях.Это так называемые «песочницы».Они идеально подходят для сценариев хостинга, когда несколько клиентов используют одну и ту же ферму.Определенно, это одно из самых больших улучшений SharePoint 2010. Опять же, они принадлежат семействам сайтов, а не веб-приложениям (которые могут иметь более одного семейства сайтов).хотя есть некоторые ограничения (по уважительной причине), когда дело доходит до Sandboxed Solutions.Дополнительная информация?См. Ссылки ниже:

http://msdn.microsoft.com/en-us/magazine/ee335711.aspx

http://technet.microsoft.com/en-us/library/ee721992.aspx (включает ограничения)

http://msdn.microsoft.com/en-us/sharepoint/ee513156.aspx (видео обучение)

0 голосов
/ 16 сентября 2013
0 голосов
/ 03 ноября 2010

Просто мысль - почему вы не управляете активацией функции в веб-приложении вместо развертывания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...