2014-11-08 62 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 
}); 
相关问题