我目前有一個SharePoint 2010項目,我在其中創建了一個空元素並創建了我的各種資源文件。我已經將這些資源設置爲類型AppGlobalResource進行部署。如何將相同的資源文件部署到14個配置單元和全局資源文件夾?
這工作得很好,讓我來訪問我的資源價值
<asp:Label ID="myLabel" runat="server" Text="<%$Resources:MyResources, MyLabel %>" />
我希望能夠做的下一件事是從後面的代碼訪問的資源值。因此,要訪問值我應該使用SPUtility.GetLocalizedString I read。
所以我創建了一個類似下面的助手類。
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文件夾並將文件添加到那裏。但問題是我現在有兩個版本的文件在同一個項目中。所以我嘗試使用添加現有的,然後鏈接到選項添加資源文件,但它似乎並沒有讓你這樣做。
使用SharePoint功能/包部署到配置單元和Global_ResourceFolder而沒有資源文件的多個副本的最佳方式是什麼?
編輯: 我編輯了Package.Template.xml文件成功部署到配置單元文件。但不在Resources文件夾中。如果我修改下面的位置使用資源\甚至資源/它提供了一個錯誤說
Error 1 Error occurred in deployment step 'Add Solution': Error: Cannot find this file specified in the manifest file:
資源\ 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>
我已經說過我已經做到了這一點,問題也是部署相同的文件到14蜂巢。有任何想法嗎? – Andrew