如何使用WSP将Asp.net Web应用程序部署到Sharepoint 2010站点

Rob*_*nik 8 asp.net deployment visual-studio-2010 wsp sharepoint-2010

假设我创建了一个自定义Web应用程序,其中包括:

  • 几个汇编DLL:Web应用程序,业务逻辑,数据服务
  • 多个aspx页面和使用它们的ascx自定义控件
  • 自定义配置部分
  • 自定义HTTP模块

通常的东西或多或少.

我想将它部署到某个子文件夹下的特定sharepoint站点.因此,如果我通过http:// myserver:90 /访问我的sharepoint站点(因为我没有使用sites/some_site),我希望我的应用程序可以在http:// myserver:90/webapp下使用

我可以手动添加一个虚拟文件夹(不是应用程序因为我需要访问一些Sharepoint站点的数据)到IIS中的sharepoint站点并手动编辑站点的web.config文件来注册我的HTTP模块并添加我的自定义配置部分以及将我的DLL放入GAC或将它们放在_app_bin中(所以我没有CAS的问题),但我认为这不是一件好事,因为这个Web应用程序可能部署在一个不应该/不能的环境中是可能的.

所以我想我可以使用Visual Studio 2010构建一个WSP并以这种方式部署它.但我没有足够的经验这样做.

我创建了一个新的sharepoint 2010项目.有没有办法可以一次添加所有不可执行的应用程序文件(aspx,ascx)?我已经看到了WSP包的高级选项卡,我可以将我的DLL添加到bin文件夹或GAC.我不知道我是否还需要添加任何安全控制并注册某些类?

所以我想我需要一些非常详细和解释性的指导.

Cli*_*mon 4

执行此操作的唯一真正方法是使用布局文件夹通过 wsp 部署应用程序。这将允许您存储通常使用 .web 应用程序部署的任何文件。

然而,存在一些问题。您的应用程序的 URL 将为http://SharePoint/somesite/_layouts/yourapp

这是祝福也是诅咒。您的 URL 可能会很难看,但它们可以在每个 SharePoint 网站下运行。如果您的应用程序依赖于 SharePoint 上下文来运行,则该上下文将根据请求的 URL 自动可用。

要在共享点项目下添加布局文件夹,请右键单击该项目并将映射文件夹添加到布局中。我还建议在您的应用程序的布局下添加一个子文件夹,以便您的应用程序文件不会与直接在布局文件夹中的默认文件发生冲突。

对于 http 模块或任何 web.config 修改,您可以使用 spwebconfigmodification 类。

这是一个演练:http://sharepointsolutions.blogspot.com/2006/12/using-spwebconfigmodificat_116736917110571614.html