0

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

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

在 nuget 中找到了 Redis-64,但我不知道为什么它没有正确安装。它显示“Redis-64 已安装”但事实并非如此。

Chocolately nuget 包用于 Chocolatey 的 Redis。看起来很有希望利用它们。

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

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

4

2 回答 2

1

我在这里可能有点离题,但是您所指的 redis 包,即来自 NuGet 的包应该只包含您可以在应用程序中使用的程序集。如果您确实想要安装 Redis 应用程序,您可能需要从 Chocolatey.org 安装 Redis 应用程序,您可以在此处找到。

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

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

choco install redis

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

于 2014-11-09T08:48:17.750 回答
0

我安装了redis-64NuGet 包,它对我有用。这是一个不寻常的包,因为它不与任何 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
});
于 2015-05-26T18:55:04.157 回答