2010-08-06 75 views
1

有沒有辦法讓視覺工作室不關心DLL版本?這是一個壞主意嗎?使Visual Studio不關心DLL版本

我重置了我的開發機器,我剛安裝了最新版本的Pex和Moles(版本.92)。我所有的項目都在版本.91上。

我們正處於發佈階段,現在不想升級。另外,我找不到版本.91的安裝程序。

當我嘗試編譯時,我收到一條消息,指出我缺少該引用。 (因此,這個問題)

回答

4

該版本很重要..根據定義,從每個發佈的版本到下一個(或不需要新版本)是有區別的。如果您期待一個版本而另一個版本,您的程序可能無法正確執行。

這是pre.NET日期中被稱爲「DLL Hell」的一部分...如果您需要使用第三方組件(Crystal Reports Viewer是我們必須處理的一個組件),那麼您只會使用對用戶PC上安裝的任何版本的引用。我們的零售地點必須具有特定版本的Crystal Reports才能正確打印書籍報告,因此,我們必須永遠保留舊版本。在PC上升級Crystal可以打破供應商的書籍應用。在我第一臺PC上,當我安裝或升級另一臺時,有幾個應用程序中斷。特別是,Real Player打破了我的電話答錄機軟件。愚蠢的東西那樣...

所以,版本是重要的,即使它是一個煩惱。這也是爲什麼我對我沒有代碼的第三方工具存在偏見,並且無法重新編譯自己。

3

如果您查看引用的DLL的屬性,您將看到屬性「特定版本」。如果將其設置爲false,則不會跟蹤項目文件中的特定版本。

爲了這個工作,你必須以某種方式修復引用的地方,使用它們。您可以通過打開每個解決方案並修復引用來完成此操作(此時您還可以更新引用的正確版本,並留意David的註釋)。

如果您有很多解決方案,您可以使用像sed這樣的工具(請參閱此版本的windows版本的工具,如Is there any sed like utility for cmd.exe),以便一次更新所需的項目文件。