2014-11-08 101 views
0

當我們下載git項目並在VS中點擊生成按鈕時,它會恢復nuget軟件包然後編譯。總是很酷。爲VisualStudio安裝巧克力軟件包build

就這樣,我想在編譯之前在本地安裝Redis,因爲我的項目單元測試任務需要Redis。我發現Redis-64 in nuget但我不知道它爲什麼不正確安裝。它顯示「Redis-64已經安裝」,但事實並非如此。

Chocolately nuget packageRedis for chocolatey。它看起來很有希望利用它們。

爲了實現我的目標,這將需要(1)檢查安裝chocolately第一,然後(2)下載Redis的-64,然後(3)編譯過程之前執行redis-server.exe(可以放置在.csproj屬性中的Pre-build event命令中)。

我想知道如何檢查Redis巧克力安裝以及VS中其他步驟的其他步驟。你能教我如何做到這一點?

回答

1

我在這裏可能會遇到問題,但是您指的是來自NuGet的redis包應該只包含您可以在應用程序中使用的程序集。如果您確實想要安裝Redis應用程序,則需要從Chocolatey.org安裝Redis應用程序,您可以在其中找到here

關於作爲構建過程中安裝的巧克力等等的安裝,您可能需要查看build script for ChocolateGUI。作爲其構建的一部分,它在AppVeyor上執行,它會檢查Chocolatey,如果它不在那裏,則安裝它,並安裝所有必需的應用程序。

你想要的東西,我認爲你需要包括:

choco install redis

在構建腳本,這會給你你正在尋找的redis-server.exe

+1

你的方式在這裏下車的標誌。 :-)'redis-64' NuGet軟件包包含實際的服務器'redis-server.exe'。 – 2015-05-26 14:27:41

+0

看起來你是絕對正確的:-)看起來Nuget.org上的redis-64軟件包與Chocolatey.org上的軟件包完全相同。除此之外,Chocolatey另外做的一件事就是爲exe創建一個墊片,意味着它可以在任何地方執行。 – 2015-05-26 18:49:47

0

我安裝了redis-64 NuGet包,它只是爲我工作。這是一個不尋常的軟件包,它不會將自己與任何Visual Studio項目關聯,而是從解決方案級別packages.config引用它。

要使用我的集成測試Redis的服務器,我啓動服務器,此代碼:

Process.Start(new ProcessStartInfo(Path.Combine(Directory.GetDirectories(@"..\..\..\packages", "Redis-64.*").Single(), "redis-server.exe"), "--bind 127.0.0.1") { 
    WindowStyle = ProcessWindowStyle.Hidden 
}); 
相關問題