我正在开发一个 SharePoint 2010 解决方案,其中包含一些 Web 部件和其他组件。此外,该解决方案需要中央管理中的应用程序页面进行配置。
因此,我的解决方案包含一个额外的功能,该功能将自定义操作放置在管理中心菜单中,该菜单链接到提供配置的应用程序页面。该功能的范围为 WebApplication
,并使用设置为 True
的属性 AutoActivateInCentralAdmin
,以便在部署解决方案时在管理中心自动激活该功能到网络应用程序。我的解决方案的这一部分按预期工作。
但是我遇到了一些关于管理中心中的应用程序页面使用的资源文件的问题,因为它们仅部署到解决方案部署到的 Web 应用程序的 App_GlobalResources
文件夹中,但是不发送至管理中心的 App_GlobalResources
。
所以我想知道为什么在没有将资源文件自动部署到管理中心的 App_GlobalResources
文件夹时使用 AutoActivateInCentralAdmin
。
每当将解决方案部署到场中的任何 Web 应用程序时,将资源文件部署到管理中心 App_GlobalResources
文件夹的最佳方法是什么?有没有自动的方法?
最佳答案
我们在这里讨论的是应用程序资源(而不是配置资源),它们应该部署到 {SharePointRoot}\CONFIG\Resources 文件夹。确保在部署 WSP 时将应用程序页面使用的资源文件部署到该文件夹。
创建新的 Web 应用程序时,资源最初会复制到 App_GlobalResources 文件夹中,在这里就可以了。
但是当 Web 应用程序已经创建时(这是您的情况),您需要将资源复制到现有的 Web 应用程序。您可以使用此命令手动执行此操作
stsadm –o copyappbincontent
或者,您可以通过在功能接收器的 FeatureActivated 事件中包含以下内容来自动执行此操作(这就是您想要的)。如需管理中心资源和站点地图,请调用
SPWebService.AdministrationService.ApplyApplicationContentToLocalServer();
对于常规应用程序页面资源和站点地图,
SPFarm.Local.Services.GetValue().ApplyApplicationContentToLocalServer();
关于sharepoint-2010 - 将解决方案部署到 Web 应用程序时,自动将资源文件部署到管理中心的 App_GlobalResources 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4022360/