2011-01-10 87 views
2

以下問題只是在我身上cre手cre腳。下面提到的步驟工作得很好,直到大約2天前。SharePoint 2010 GAC部署不會更新

當我將更新(Web部件)更新部署到SharePoint 2010服務器時,我看不到更新。該解決方案確實已安裝,但從我可以告訴安裝的Web部件已超過一個月(沒有安裝新的)。

我做下面的步驟,通過PowerShell的:

retract the solution from the web app 
remove the solution 
add the solution 
install the solution to the web app 

我試圖重新啓動Web應用程序,重新啓動IIS,並重新啓動服務器。似乎沒有任何工作。

我注意到,刪除解決方案後,它確實從GAC中刪除。在我添加/安裝之後,該解決方案在GAC中再次出現。

我錯過了什麼嗎?我是否忽略了我應該做的一步?有什麼可嘗試的?

+0

`從我可以告訴安裝的Web部件已超過一個月`。好的,但你怎麼知道?你只是在瀏覽器中加載頁面? – 2011-01-10 19:53:49

+0

在瀏覽器中加載,還要從網站設置>圖庫> Web部件中查看日期。最後一次修改是在一個月以前,當我知道我在過去幾天內正在對它們進行修改時。 – mcnarya 2011-01-10 22:35:41

回答

3

我從不關閉/重新激活特徵。

按照我在我的問題中提到的同樣的步驟,我只是停用,然後重新激活,功能和一切開始工作正常。

這是一件容易的事情,我可以開始實施我的解決方案更新。但是,爲什麼我從來不需要這樣做呢?

0

您可能已檢查過,但以防萬一。確保powershell腳本不添加一個月包。

+0

我已經檢查過,並且WSP文件上的時間戳確實與解決方案的建立時間相對應(在本例中是今天上午,而不是一個月前)。 – mcnarya 2011-01-10 19:51:56

0

Web部件代碼或配置中存在問題嗎?該配置通常遲早會自動掛載,並拒絕從解決方案更新 - 如果有更改,可以手動更新庫中的文件。對於大多數更新,不會有任何更改,因爲現有的Web部件無論如何都不會得到更新 - 它們將使用新的代碼,但使用舊的配置。

如果問題是代碼本身,程序集對系統來說是否顯示爲不變? SharePoint配置文件中的所有硬編碼全名引用意味着通常您正在部署新的程序集,但版本號相同。這可能意味着系統不會進行更新。我發現在每個版本上更新AssemblyFileVersion(不影響綁定)非常有用,並且在_layouts中有一個顯示所有加載程序集的文件版本的頁面,因此我確切知道正在運行的是什麼。

1

通常,您應該檢查您的ULS日誌以查看您的解決方案運行的是哪個版本。如果您看到舊版本,那麼您可以確定您的激活站點功能仍然與舊版本綁定。在這種情況下,您必須停用站點功能才能釋放該連接,然後激活綁定到新連接(顯示爲激活始終將網站功能連接到解決方案的最新版本)。

也許您之前沒有這樣做過,因爲您沒有更改解決方案的版本號,而是在服務器上的GAC中顯示爲相同版本。在這種情況下,您的網站功能已指向您的解決方案的正確版本,因此不必重置該功能。

相關問題