ConnectionMultiplexer.Connect прерывается при подключении к серверу Redis

Я успешно установил сервер Redis на свой компьютер с Windows 7. Сделал скорую руку, все работает как положено. (устанавливается с помощью установщика MSI с сайта https://github.com/MSOpenTech/redis)

Я использую клиент StackExchange Redis C# для подключения к серверу Redis.
RedisClient

P.S. : я не собирал приложение на своей машине, так как у меня VS 2010, и это выдавало какую-то ошибку. Итак, я установил пакет nuget, и теперь в моем тестовом приложении на C# есть сборка StackExchange.Redis.

введите здесь описание изображения

В моем консольном приложении всего одна строка кода

    ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("localhost:6379,allowAdmin=true");

Это дает мне ошибку:

System.AggregateException was unhandled
  HResult=-2146233088
  Message=One or more errors occurred.
  Source=mscorlib
  StackTrace:
       at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
       at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
       at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout)
       at StackExchange.Redis.ConnectionMultiplexer.ConnectImpl(Func`1 multiplexerFactory, TextWriter log) in c:\TeamCity\buildAgent\work\3ae0647004edff78\StackExchange.Redis\StackExchange\Redis\ConnectionMultiplexer.cs:line 817
       at StackExchange.Redis.ConnectionMultiplexer.Connect(String configuration, TextWriter log) in c:\TeamCity\buildAgent\work\3ae0647004edff78\StackExchange.Redis\StackExchange\Redis\ConnectionMultiplexer.cs:line 795
       at testapp.Program.Main(String[] args) in D:\_Work\TestApp\Program.cs:line 64
       at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException: System.Security.VerificationException
       HResult=-2146233075
       Message=Method System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Boolean].AwaitUnsafeOnCompleted: type argument 'Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[StackExchange.Redis.ServerEndPoint]' violates the constraint of type parameter 'TAwaiter'.
       Source=StackExchange.Redis
       StackTrace:
            at StackExchange.Redis.ConnectionMultiplexer.<ReconfigureAsync>d__2d.MoveNext()
            at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
            at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start[TStateMachine](TStateMachine& stateMachine)
            at StackExchange.Redis.ConnectionMultiplexer.ReconfigureAsync(Boolean first, Boolean reconfigureAll, TextWriter log, EndPoint blame, String cause, Boolean publishReconfigure, CommandFlags publishReconfigureFlags)
            at StackExchange.Redis.ConnectionMultiplexer.<>c__DisplayClass29.<ConnectImpl>b__26() in c:\TeamCity\buildAgent\work\3ae0647004edff78\StackExchange.Redis\StackExchange\Redis\ConnectionMultiplexer.cs:line 815
            at System.Threading.Tasks.Task`1.InnerInvoke()
            at System.Threading.Tasks.Task.Execute()
       InnerException: 

person ankur    schedule 29.04.2016    source источник
comment
У меня такая же ошибка. Думал, это потому, что я использую SharpDevelop, но, похоже, это не проблема IDE. Но решения пока нет...   -  person flohack    schedule 07.05.2016
comment
ты имеешь в виду во время строительства? потому что я говорю об использовании dll и создании экземпляра клиента в консольном приложении.   -  person ankur    schedule 09.05.2016


Ответы (1)


Для всех, кто натыкается на это, причиной является несоответствие версии пакета Microsoft.Bcl. Запустите команду Update-Package Microsoft.Bcl для решения.

см. http://blog.marcgravell.com/2014/03/so-i-went-and-wrote-another-redis-client.html?showComment=1405397410965#c8649668071319126908

person oonyalo    schedule 14.09.2016