2010-11-03 21 views
4

使用的VisualStudio 2010創建SharePoint2010解決方案,我想我的部署解決方案,所選的web應用(不是全部)。通過將Assembly Deployment Target(項目屬性)切換到WebApplication,我可以做到這一點。但是,該程序集將不會部署到GAC。創建可部署到web應用選擇,但副本大會GAC

是否有一個設置允許部署web應用特定的,但部署大會到GAC?

編輯:也許問題是很難理解,所以這裏一個例子:

在SharePoint場中每個客戶的帽子一個WebApplication的。由特定客戶訂購的自定義功能只能在客戶的WebApp上使用。該功能不應出現在其他WebApp的SiteCollection功能或WebSite功能中。

但是,功能範圍必須是站點或Web才能在部分客戶門戶中激活。

回答

3

好吧,現在我明白了:SharePoint將要求一個Web應用程序部署到WSP包含SafeControl元素。因此,如果向VS項目中添加虛擬Web部件或直接將SafeControl元素添加到VS中的包中,WSP將不會自動全局部署。

+0

確實如此,但該功能仍會顯示在其他Web應用程序的sitecollection功能列表中。我想避免這種情況的唯一方法是使用沙盒功能,並接受選項帶來的所有限制。 – 2010-12-19 19:28:06

+0

不,它只顯示在我部署解決方案的網站應用程序的網站集合上。我測試了它。 – Hinek 2010-12-22 14:59:13

+0

對不起,當我第一次測試時,我不確定我做了什麼。現在我明白了,Koen是正確的,這些功能出現在所有Web應用程序的網站集合/網站上......沒有辦法阻止這種情況發生。 – Hinek 2011-07-13 14:40:37

3

我不太確定你的最終目標是什麼,但你可能要牢記以下幾點:

當您設定目標大會在Web應用程序,編譯的程序集(.dl)將被部署到Bin Web應用程序,而不是GAC

到VS.Net部署解決方案(的.wsp)Web應用程序的文件夾是由該項目的「網站地址」屬性決定。

除非你正在創建沙盒解決方案,您在服務器上部署的功能可用於所有Web應用程序,不論您部署的WSP到Web應用程序。有時,您可能仍然希望將WSP部署到特定的Web應用程序,因爲根據WSP的內容,WSP可能會執行以下操作。例如,它可以部署組件,以Web應用程序的bin文件夾中,也可以將文件複製到的.resx Web應用程序的文件夾,它可以修改web.config中通過插入你的特點等

功能所需的條目

如果要將WSP部署到多個Web應用程序,有幾種選擇:使用VS.Net的post build命令,使用中央管理,使用STAADM或使用Powershell。

如果您在使用SharePoint 2010,您可以選擇部署嚴格意義上的解決方案,單個網站集不影響其他站點集合在同一個Web應用程序或在其他Web應用程序的其他網站集。這些被稱爲「沙盒解決方案」。它們非常適合託管場景,因爲您有多個客戶共享相同的農場。毫無疑問,是SharePoint 2010最大的增強功能之一。同樣,它們屬於Site Collections而不屬於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(視頻培訓)

+0

只是一個側面說明:'stsadm.exe'已被棄用,與2010年的SharePoint和PowerShell應改爲使用。 – 2010-11-03 15:33:57

+0

@moontear - 那是不必要的FUD IHMO。爲這項工作選擇合適的工具,有很多1行STSADM命令很難在PowerShell中執行,反之亦然。 – Ryan 2010-11-04 00:56:50

+0

@Ryan我同意。我仍然在爲許多任務使用stsadm,這就是爲什麼我說「只是一個附註」,因爲我認爲沒有多少人知道stsadm已被棄用。 – 2010-11-04 06:20:58

0

只是一個想法 - 你爲什麼不控制對Web應用程序的功能,而不是激活的部署。

+0

請看我編輯的問題。這些功能必須在Web或Site範圍上激活。 – Hinek 2010-11-04 10:43:06

0
+2

請注意,[只有鏈接的答案](http://meta.stackoverflow.com/tags/link-only-answers/info)不鼓勵,所以答案應該是搜索解決方案的終點(vs.而另一個引用的中途停留時間往往會隨着時間推移而過時)。請考慮在此添加獨立的摘要,並將鏈接保留爲參考。 – kleopatra 2013-09-16 09:10:49

+0

...加上:鏈接已死。 – Hinek 2013-09-18 08:47:58