2011-09-22 36 views
5

今天我收到了一些程序集不匹配問題,經過一番挖掘,我發現對於某個特定的DLL,項目中的實際引用是針對其他版本的,並且該項目的配置文件顯示依賴關係到同一個DLL的其他版本。.net - dependentAssembly

Exp。

<dependentAssembly> 
    <assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" /> 
    <bindingRedirect oldVersion="2.0.1.4000" newVersion="2.1.2.4000" /> 
</dependentAssembly> 

我從配置文件中刪除了該程序集的依賴聲明,瞧!我能:-)

我的問題再次運行是 -

<dependentAssembly>聲明在項目配置文件進行?我們手動添加它們嗎?在什麼情況下?

回答

4

何時<dependentAssembly>聲明在項目配置 文件中作出?我們手動添加它們嗎?在什麼情況下?

當您希望確保軟件在運行時綁定到較新版本的程序集上而不是構建它時。

更多信息:http://msdn.microsoft.com/en-us/library/7wd6ex19.aspx

你能不能也請指導在什麼情況下,我們在運行時需要在 編譯時老版本,新的版本?

例如,如果您使用的是供應商API,供應商可能已經發現了一個錯誤並需要發佈新版本,但您已經發貨。

+0

感謝您的回覆,請問您還可以在什麼情況下指導我們在運行時需要編譯時和更新版本的舊版本? – iniki

+0

例如,如果您使用的是供應商API,供應商可能已發現錯誤並需要發佈新版本,但您已經發貨。 –

+0

啊!謝謝:) – iniki