2011-12-29 74 views
1
的舊版本

我只是NuGetted ServiceStack.Redis 3.1.3但它的依賴也變得ServiceStack.Common和ServiceStack.Text 3.1.6ServiceStack Redis的客戶期待ServiceStack.Common

現在,當我構建應用程序的一切沒問題。

但是,當我運行應用程序時,一些Redis客戶端方法可以正確執行,但其中一些方法(RedisClient.GetAllKeys)給出拋出異常

Could not load file or assembly 'ServiceStack.Common, Version=1.0.4336.27526, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.

然後我刪除了所有DLL的和的NuGet packgage配置,並且明確地做了的NuGet ServiceStack.Common -Version 3.1.3,得到它。但後來當我試圖NuGet ServiceStack.Redis -Version 3.1.3它自動刪除了3.1.3版本的Common並下載了3.1.6版本!

Arrrghhh,我討厭智能安裝。

我該如何解決這個問題?

ServiceStack的發佈者是否知道這個問題?

回答

2

好的!發現問題。

我正在嘗試從控制檯應用程序中使用ServiceStack,並將它配置爲以「ClientProfile」模式構建。

ServiceStack在內部引用System.Web,它在運行時不可訪問。

我將應用程序切換到使用完整框架模式的構建,現在一切正常。

謝謝反正神話!

0

不,ServiceStack沒有意識到這個問題。雖然我們想知道是什麼造成的。

我試過了ServiceStack.Redis的全新安裝,它按預期工作。

要刪除您的dll,您需要進入NuGet包管理器並找到已安裝的ServiceStack.Redis包並單擊取消安裝。這應該確保下次安裝的項目從NuGet網站下載並且不會重新使用您的骯髒的dll緩存。

未能確保您擁有最新版本的NuGet並且您的舊NuGet緩存已被清除。即查找並刪除NuGet/packages文件夾。