2011-04-26 50 views
3

我們的應用程序使用反應式擴展(Rx)。這些通常通過Microsoft的可下載軟件包安裝。但是,當我們運送我們的應用程序時,我們提供dll的副本(即System.CoreEx.dll和System.Reactive.dll)。 GAC v1.0.2787.0和v1.0.2856.0中似乎有兩個版本。我們正在引用一個特定的版本併發布相應的版本。使用.Net反應式擴展的部署

但是,當應用程序啓動時,會拋出一個錯誤對話框,指出Rx Dll必須安裝在GAC中。它還請求Dll獲得其他版本的Rx,例如如果你引用的是1.0.2787,它會請求1.0.2856.0,反之亦然。

有沒有人解決過這個問題?

回答

6

除非您的應用程序的程序集安裝在GAC中,否則無需將Rx程序集安裝到GAC中。您的應用程序是否需要安裝在GAC中,還是可以從安裝目錄運行?

它還請求Dll獲得其他版本的Rx,例如,如果您參考的是1.0.2787,它將請求1.0.2856.0,反之亦然

它實際上不可能實際請求Rx版本。您可能想要雙倍/三重檢查您的解決方案(所有項目)是否都引用了Rx程序集的正確(和相同)版本。

+0

感謝Rich - 該應用程序不在GAC中。檢查了所有參考了相同版本的項目,嘿presto似乎解決了這個問題。 :) – nadsy 2011-04-26 15:09:48

+1

很高興有幫助。如果你願意,你可以點擊左邊的勾號將問題標記爲「答案」。這樣,這個問題就不會顯示爲「未答覆」。 – 2011-04-26 21:01:53