В настоящее время у меня есть проект SharePoint 2010, в котором я создал пустой элемент и создал свои различные файлы ресурсов. Я установил эти ресурсы для развертывания типа AppGlobalResource.
Это прекрасно работает и позволяет мне получить доступ к значениям моего ресурса
<asp:Label ID="myLabel" runat="server" Text="<%$Resources:MyResources, MyLabel %>" />
Следующее, что я хочу сделать, это получить доступ к значениям ресурсов из кода. Итак, Я прочитал , что для доступа к значениям я должен использовать SPUtility.GetLocalizedString.
Итак, я создал вспомогательный класс, как показано ниже.
public static class ResourceHelper
{
public static string GetResourceValue(string resource)
{
var lang = SPContext.Current.Web != null ? SPContext.Current.Web.Language : 1033;
string result = SPUtility.GetLocalizedString("$Resources:" + resource,"RegistrationResource",lang);
return result;
}
}
Чтобы получить доступ к значениям с помощью этого подхода, мне нужно разрешить развертывание файлов ресурсов в кусте, что достаточно просто. Добавьте сопоставленную папку SharePoint и добавьте туда файлы. Но проблема в том, что у меня теперь есть две версии файлов в одном проекте. Поэтому я попытался добавить файлы ресурсов, используя параметр Добавить существующий , а затем Ссылка на , но, похоже, это не позволяет вам сделать это.
Каков наилучший способ развертывания в кусте и в Global_ResourceFolder с использованием компонента / пакета SharePoint без нескольких копий файлов ресурсов?
EDIT:
Я отредактировал файл Package.Template.xml, который успешно развертывает файл в кусте. Но не в папке «Ресурсы». Если я изменю расположение ниже, чтобы использовать Ресурсы \ или даже Ресурсы /, будет выдано сообщение об ошибке:
Ошибка 1 Ошибка на этапе развертывания «Добавить решение»: Ошибка:
Не удается найти этот файл, указанный в файле манифеста:
Ресурсы \ RegistrationResource.resx
0 0 Company.Sharepoint.Resources
<?xml version="1.0" encoding="utf-8"?>
<Solution xmlns="http://schemas.microsoft.com/sharepoint/">
<RootFiles>
<RootFile Location="RegistrationResource.resx" />
</RootFiles>
</Solution>