假设我创建了一个包含以下内容的自定义Web应用程序:
通常的东西或多或少。
我想将其部署到某个子文件夹下的特定sharepoint网站。因此,如果我通过http://myserver:90/访问我的sharepoint网站(因为我没有使用网站/ 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。我不知道是否还需要添加任何安全控制并注册某些类?
所以我想我在这里需要一些非常详细和解释性的指导。
答案 0 :(得分:4)
唯一真正的方法是使用layouts文件夹通过wsp部署应用程序。这将允许您存储通常使用a.web应用程序部署的任何文件。
然而,有几个问题。您的应用程序的网址为http://SharePoint/somesite/_layouts/yourapp
这是一种祝福和诅咒。您的网址很难看,但它们可以在每个SharePoint网站下运行。如果您的应用程序依赖于SharePoint上下文来运行,则该上下文将根据请求URL自动提供。
要在共享点项目下添加布局文件夹,请右键单击该项目,然后将布局文件夹添加到布局中。我还建议在应用程序的布局下添加一个子文件夹,以便您的应用程序文件不会直接与layouts文件夹中的默认文件冲突。
对于http模块或任何web.config修改,您可以使用spwebconfigmodification类。
Heres a walkthru:http://sharepointsolutions.blogspot.com/2006/12/using-spwebconfigmodificat_116736917110571614.html