Как разместить файлы resx в папке App_GlobalResources с помощью решений (wsp)? - PullRequest
3 голосов
/ 12 марта 2009

Я разработал множество решений (wsp) для SharePoint 2007 и почти автоматизировал все необходимые шаги установки, но есть одна вещь, которую я не могу автоматизировать.

Как создать решение, которое помещает файлы ресурсов (resx) в папку App_GlobalResources виртуального приложения?

Заранее спасибо.

Ответы [ 4 ]

6 голосов
/ 12 марта 2009

Вам потребуется написать Feature Receiver, который копирует файлы, потому что нет способа развернуть их напрямую через файлы конфигурации SharePoint.

Я нашел этот пост полезным, когда мне нужно было сделать следующее: Ресурсы, типы, использование и развертывание SharePoint

2 голосов
/ 13 марта 2009

Платформа решения не поддерживает развертывание в папку App_GlobalResources.

Вам необходимо написать задание таймера SharePoint, которое будет копировать файлы. Timejob выполняется на всех серверах фермы, поэтому на каждый сервер будут скопированы файлы ресурсов. То, о чем вы должны знать, это контекст (учетная запись домена), в которой вы запускаете свой timerjob. Для запуска таймера необходимо использовать учетную запись фермы - недостаточно учетной записи, которая запускает веб-приложение (включая RunWithElevated ...) - короткая история - запустить таймер из функции фермы или скрытой функции SiteCollection (скрыто функционирует как учетная запись фермы).

Найдите больше вдохновения здесь:

Создание пользовательских заданий таймера в Windows SharePoint Services 3.0

Ресурсы, типы, использование и развертывание SharePoint (ссылка, на которую ссылается DylanW)

1 голос
/ 08 декабря 2011

Я добавил файл resx в папку App_GlobalResources, щелкнув правой кнопкой мыши по проекту и выбрав: - Добавить новый предмет - Пустой элемент под названием «Ресурсы» - Затем добавьте новый файл Resx в недавно созданную папку «Ресурсы» - Затем в файле resx измените тип развертывания на AppGlobalResource

.

Мэтт

1 голос
/ 06 июня 2009

Вы можете использовать команду stsadm CopyAppBinContent, которая копирует файлы со страницы 12 / Resources в App_GlobalResources. Таким образом, ваш WSP (проект VS) должен поместить файлы resx в эту папку. Я использую решение, в котором я на самом деле помещаю свои файлы resx в папку с именем Resources в корне .csproj (просто чтобы избежать странных пространств имен, которые возникают при размещении их в 12 / Resources), а затем XCopy их (файлы resx) 12 / Ресурсы, когда я строю.

CopyAppBinContent затем добавляется в процесс развертывания (шаг в файле .bat).

У CopyAppBinContent есть некоторые проблемы при запуске на ферме, и для решения этой проблемы я использую пользовательское SPJobDefinition, которое обрабатывает запуск этой команды в ферме.

...