我正在开发一个SharePoint 2010解决方案,它包含一些Web部件和其他组件。此外,该解决方案还需要管理中心中的应用程序页面进行配置。
因此,我的解决方案包含一项额外功能,可在管理中心菜单中放置自定义操作,该操作链接到提供配置的应用程序页面。该功能具有范围WebApplication
,并使用设置为AutoActivateInCentralAdmin
的属性True
,因此在将解决方案部署到Web应用程序时,将在管理中心中自动激活该功能。我解决方案的这一部分按预期工作。
但是我对管理中心的应用程序页面使用的资源文件有一些问题,因为它们只被部署到部署了解决方案的Web应用程序的App_GlobalResources
文件夹中,而不是部署到中央政府App_GlobalResources
。
所以我想知道为什么在资源文件没有自动部署到管理中心的AutoActivateInCentralAdmin
文件夹时使用App_GlobalResources
。
只要将解决方案部署到服务器场中的任何Web应用程序,将资源文件部署到管理中心App_GlobalResources
文件夹的最佳方法是什么?有自动方式吗?
答案 0 :(得分:2)
我们在这里谈论应用程序资源(而不是配置资源),它们应该部署到{SharePointRoot} \ CONFIG \ Resources文件夹。确保在部署WSP时将应用程序页面使用的资源文件部署到该文件夹。
创建新的Web应用程序时,资源最初会复制到App_GlobalResources文件夹,您可以在这里使用。
但是,当已经创建了Web应用程序(这是您的情况)时,您需要将资源复制到现有Web应用程序。您可以使用此命令手动执行此操作
stsadm -o copyappbincontent
或者您可以通过在功能接收器中的FeatureActivated事件中包含以下内容来自动化(这是您想要的)。对于管理中心资源和站点地图,请致电
SPWebService.AdministrationService.ApplyApplicationContentToLocalServer();
对于常规应用程序页面资源和站点地图,
SPFarm.Local.Services.GetValue()ApplyApplicationContentToLocalServer();
答案 1 :(得分:1)
您需要为此创建自定义计时器作业。如果你在互联网上搜索,有些人已经开发了这样的工作。