Asp.net

如何使用 WSP 將 Asp.net Web 應用程序部署到 Sharepoint 2010 站點

  • March 5, 2011

假設我創建了一個自定義 Web 應用程序,其中包括:

  • 幾個程序集 DLL:Web 應用程序、業務邏輯、數據服務
  • 多個 aspx 頁面和使用它們的 ascx 自定義控制項
  • 自定義配置部分
  • 自定義 HTTP 模組

或多或少是平常的東西。

我想將它部署到某個子文件夾下的特定共享點站點。因此,如果我通過http://myserver:90/訪問我的共享點站點(因為我沒有使用站點/some_site),我希望我的應用程序在http://myserver:90/webapp下可用

我可以手動添加一個虛擬文件夾(不是應用程序,因為我需要訪問一些 Sharepoint 站點的數據)到我在 IIS 中的共享點站點並手動編輯站點的web.config文件以註冊我的 HTTP 模組並添加我的自定義配置部分以及將我的 DLL 放入GAC 或將它們放在 _app_bin 中(所以我對 CAS 沒有問題),但我認為這不是一件好事,因為這個 Web 應用程序可能會部署在不應該/不能的環境中不可能。

所以我想我可以使用 Visual Studio 2010 建構一個 WSP 並以這種方式部署它。但我沒有足夠的經驗這樣做。

我創建了一個新的 sharepoint 2010 項目。有沒有辦法一次添加所有不可執行的應用程序文件(aspx、ascx)?我已經看到了WSP 包的高級選項卡,我可以在其中將我的 DLL 添加到 bin 文件夾或 GAC。我不知道我是否還必須添加任何安全控制並註冊某些類?

所以我想我需要一些非常詳細和解釋性的指導。

唯一真正做到這一點的方法是使用 layouts 文件夾通過 wsp 部署您的應用程序。這將允許您儲存通常使用 .web 應用程序部署的任何文件。

然而,有幾個問題。您的應用程序的 URL 將是http://SharePoint/somesite/_layouts/yourapp

這是福也是禍。您的網址會很醜陋,但它們可以在每個 SharePoint 網站下使用。如果您的應用程序依賴於 SharePoint 上下文來執行,則該上下文將根據請求 URL 自動可用。

要在您的共享點項目下添加佈局文件夾,請右鍵點擊項目並將映射文件夾添加到佈局。我還建議在您的應用程序的佈局下添加一個子文件夾,這樣您的應用程序文件就不會直接與佈局文件夾中的預設文件衝突。

對於 http 模組或任何 web.config 修改,您可以使用 spwebconfigmodification 類。

這是一個演練: http ://sharepointsolutions.blogspot.com/2006/12/using-spwebconfigmodificat_116736917110571614.html

引用自:https://stackoverflow.com/questions/3388372