2008-10-08 20 views
2

我已經在工作中創建了一個通用庫,並且它已安裝在我們的測試服務器上的GAC中。我最近更新了它,我希望我們的所有應用程序都能使用此更新。我創建了一個發佈者策略程序集並將其安裝在GAC中,但是當Web應用程序加載Leggett.Common 1.0.0.0時,它不會重定向到Leggett.Common 1.1.0.0。如何使發佈者策略文件重定向程序集請求

我在網絡驅動器上有常用程序集(實際上有5個,但讓它保持簡單),我在它旁邊創建了發佈者策略xml文件,然後使用al.exe創建發佈者策略程序集相同的文件夾。之後,我將更新後的程序集放入GAC,然後將發佈程序策略程序集放入GAC。

常見程序集爲'Leggett.Common.dll',發佈者策略文件爲'1.1.Leggett.Common.policy',發佈者策略程序集爲'policy.1.1.Leggett.Common.dll'。

的XML爲發佈政策文件如下所示:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <runtime> 
     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
      <dependentAssembly> 
       <assemblyIdentity name="Leggett.Common" 
            publicKeyToken="32cd8f1a53a4c744" 
            culture="neutral" /> 
       <bindingRedirect oldVersion="1.0.0.0" 
           newVersion="1.1.0.0"/> 
      </dependentAssembly> 
     </assemblyBinding> 
    </runtime> 
</configuration> 

我在做什麼錯?

澄清
因爲開發商我測試這是我的本地開發機器上沒有進入到測試服務器。

+0

你能爲我們提供XML爲出版商策略? – Kev 2008-10-08 22:40:14

+0

嗯,是的。我的意思做。 – 2008-10-08 22:45:02

回答

2

好的......在刺...

1 - 你試過用Assembly Binding Log Viewer (Fuslogvw.exe),看看組裝約束力正在發生?

你可以找到它:

C:\ Program Files文件\微軟的SDK \的Windows \ v6.0A \ BIN \ FUSLOGVW.exe(安裝VS2008)。

2 - 「我在網絡驅動器上有通用程序集(實際上有5個,但讓它保持簡單)」 - 兩個程序集都駐留在網絡驅動器上嗎?

更新:好的...如果新程序集在網絡驅動器上,可能有一些trust issues。您能否將新程序集部署到服務器上的本地驅動器,然後重新安裝到GAC?

Update2:我知道..愚蠢的東西....你肯定有publicKeyToken和版本號是否正確?即新程序集的AssemblyVersion屬性肯定是1.1.0.0,並且公鑰標記是相同的(在GAC中)?

你試過去除文化屬性嗎?

Update3:您好Max ....您能粘貼您使用的確切的發佈者策略文件嗎?另外...請記住,如果您將1.0版本重定向到更高版本的程序集,則必須使用您重定向的程序集的major.minor版本來命名發佈者策略名稱。所以在你的情況下,發佈者策略應該被命名爲「policy.1.0.Leggett.Common.dll」。我注意到你已經命名爲'policy.1.1.Leggett.Common.dll',這可能是它不起作用的原因。

最後,您必須確保您使用1.0和1.1程序集使用的相同密鑰簽署發佈者策略。

我建了幾個DLL的,並在GAC下降他們然後使用一個控制檯應用程序在VS測試和它的工作:)

UPDATE4:嗨馬克斯,這是我從來沒有想過。在創建發佈者策略文件時,您是否指定了該平臺?嘗試用構建它:

人/link:1.1.Leggett.Common.policy /out:policy.1.0.Leggett.Common.dll /密鑰文件:/version:1.0.0.0

漏下/平臺切換並明確指定版本號。

乾杯
千電子伏

2

你正確識別組件,但對於其他人誰的閱讀,在assemblyIdentity元素通過它的根引用大會未經文件擴展名(例如,「FUBAR」和不是「Fubar.dll」)。

微軟documentation忽略提及...#$%#!(!@!

相關問題