sharepoint - 创建部署到选定 Web 应用程序但将程序集复制到 GAC 的解决方案

标签 sharepoint visual-studio-2010 sharepoint-2010

使用 VisualStudio 2010 创建 SharePoint2010 解决方案,我想将我的解决方案部署到选定的 Web 应用程序(不是全部)。我可以通过将程序集部署目标(项目属性)切换到 WebApplication 来做到这一点。但是,该程序集将不会部署到 GAC。

是否有允许部署到特定 Web 应用程序,但将程序集部署到 GAC 的设置?

编辑:也许这个问题很难理解,所以这里有一个例子:

在 SharePoint 场中,每个客户都拥有一个 Web 应用程序。由特定客户订购的自定义功能应该只能在客户的 WebApp 上使用。该功能不应出现在其他 WebApp 的 SiteCollection 功能或网站功能中。

但功能范围必须是站点或 Web 才能仅在客户门户的部分中激活。

最佳答案

我不太确定您的最终目标是什么,但您可能需要牢记以下几点:

当你将Assembly Target 设置为Web Application 时,编译后的程序集(.dl)将部署到Web 应用程序的Bin 文件夹而不是GAC

VS.Net 部署解决方案 (.wsp) 的 Web 应用程序由项目的“站点 URL”属性决定。

除非您正在创建沙盒解决方案,否则您在服务器上部署的功能可用于所有 Web 应用程序,而与您将 WSP 部署到的 Web 应用程序无关。有时,您可能仍希望将 WSP 部署到特定的 Web 应用程序,因为 WSP 可能会根据您的 WSP 的内容执行以下操作。例如,它可以将程序集部署到 web 应用程序的 bin 文件夹中,它可以将 .resx 文件复制到你的 web 应用程序的文件夹中,它可以修改 web.config 以插入功能所需的条目等。

如果要将 WSP 部署到多个 Web 应用程序,有多种选择,仅举几例:使用 VS.Net 的后期构建命令、使用中央管理、使用 STAADM 或使用 Powershell。

如果您使用的是 SharePoint 2010,则可以选择将解决方案严格部署到单个网站集,这不会影响同一 Web 应用程序中的其他网站集或其他 Web 应用程序中的其他网站集。这些被称为“沙盒解决方案”。它们非常适合托管多个客户共享同一个场的场景。毫无疑问,这是 SharePoint 2010 最大的增强功能之一。同样,它们属于网站集,而不是 Web 应用程序(可以有多个网站集)。但是(有充分的理由)在沙盒解决方案方面存在一些限制。更多信息?请参阅以下链接:

http://msdn.microsoft.com/en-us/magazine/ee335711.aspx

http://technet.microsoft.com/en-us/library/ee721992.aspx (包括限制)

http://msdn.microsoft.com/en-us/sharepoint/ee513156.aspx (视频培训)

关于sharepoint - 创建部署到选定 Web 应用程序但将程序集复制到 GAC 的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4086460/

相关文章:

SharePoint REST 显示当前用户个人资料图片

c# - 如何查询SPView对象

asp.net - SharePoint Web 部件列表写入权限

sharepoint - 由 JavaScript 调用的 Azure Active Directory 保护的 WebApi

visual-studio-2010 - WiX 设置 : adding a reference to Visual Studio project output issue

sharepoint - SharePoint中的重复事件-“Duration”不正确

visual-studio-2010 - 在 TFS 2010 上运行单元测试项目。 Team Build 2010 未编译测试 DLL

visual-studio-2010 - Visual Studio 不显示文件内容

sharepoint - 我可以在本地计算机上创建 Sharepoint 站点吗?

javascript - 如何在母版页和站点页面之间进行通信?