在构建时为VisualStudio安装chocolatey redis软件包

时间:2014-11-08 15:57:16

标签: visual-studio msbuild nuget chocolatey

当我们下载git项目并在VS中单击构建按钮时,它会恢复nuget包然后进行编译。永远很酷。

就像那样,我想在编译之前在本地安装Redis,因为我的项目单元测试工作需要Redis。

我找到Redis-64 in nuget,但我不知道为什么它安装不正确。它显示"已经安装了Redis-64"但事实并非如此。

Chocolately nuget packageRedis for chocolatey。它看起来很有希望利用它们。

为了实现我的目标,首先需要(1)检查巧克力的安装,然后(2)下载redis-64,然后(3)在编译过程之前执行redis-server.exe(可以放在.csproj属性中的预构建事件命令中)。

我想知道如何在VS中检查Redis巧克力安装和其他其他步骤。你能教我如何做到这一点吗?

2 个答案:

答案 0 :(得分:1)

我可能会离开这里,但你所指的redis包,即来自NuGet的redis包应该只包括你可以在你的应用程序中使用的程序集。如果您确实要安装Redis应用程序,则需要从Chocolatey.org安装Redis应用程序,您可以找到here

在将Buildy等安装为构建过程的一部分时,您可能需要查看build script for ChocolateGUI。作为它在AppVeyor上执行的构建的一部分,它会检查Chocolatey,如果不是,则安装它,以及所有必需的应用程序。

对于你想要的,我认为你需要包括:

choco install redis

在您的构建脚本中,这将为您提供您正在寻找的redis-server.exe

答案 1 :(得分: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
});