Ошибка при обновлении статуса Twitter с помощью Twitterizer - PullRequest
2 голосов
/ 05 апреля 2011

У меня есть это тестовое приложение для твиттерзайзера.

var temp = TwitterViewModel.TokenStore;

       string token = HttpContext.Current.Request.QueryString["oauth_token"];
       string verifier = HttpContext.Current.Request.QueryString["oauth_verifier"];
       string ConsumerKey = WebConfigurationManager.AppSettings["twitterApiKey"];
       string ConsumerSecret = WebConfigurationManager.AppSettings["twitterConsumerSecret"];

       OAuthTokenResponse TwitterResponse = OAuthUtility.GetAccessToken(ConsumerKey, ConsumerSecret, token, verifier);

       var Tokens = new OAuthTokens();

       foreach (KeyValuePair<string, OAuthTokens> Token in TwitterViewModel.TokenStore)
           if (Token.Key == UserSession.GetSession().Login)
               Tokens = Token.Value;

       if (TwitterResponse != null)
       {
           Tokens.AccessToken = TwitterResponse.Token;
           Tokens.AccessTokenSecret = TwitterResponse.TokenSecret;
       }

       TwitterViewModel.TokenStore.Remove(UserSession.GetSession().Login);

       TwitterResponse<TwitterStatus> Response = TwitterStatus.Update(Tokens, "testmsg");

       ResponseErrorMessage = Response.ErrorMessage;
       ResponseResult = Response.Result.ToString();
       ResponseContent = Response.Content;

И, кажется, работает, пока не достигнет этой строки: "TwitterResponse Response = TwitterStatus.Update (Tokens," testmsg ");" Твит помещен на «стену» твиттера, и я получил сообщение об ошибке: «Не удалось загрузить файл или сборку» Newtonsoft.Json, Version = 3.5.0.0 ... ». Я проверил свои пакеты, и у меня есть newtonsoft.json 4.0.1. Если это возможно, я действительно не хочу ухудшать этот пакет newtonsoft с 4.0 до 3.5.

Если кто-нибудь знает, как я могу решить эту проблему, это было бы здорово! Приветствия.

Ответы [ 2 ]

5 голосов
/ 05 апреля 2011

Вы можете либо

  1. добавить <bindingRedirect> в ваш app.config, чтобы указать, что Twitterizer должен использовать новую версию вместо этого (при условии, что API не изменился)

  2. получите источник Twitterizer и восстановите его самостоятельно для Json 4.0.1.

1 голос
/ 30 мая 2011

Для варианта 1., предоставленного Rup, я обновил web.config следующим:

...

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" />
    <bindingRedirect oldVersion="3.5.0.0" newVersion="4.0.0.0"/>
  </dependentAssembly>
</assemblyBinding>

   </runtime>
</configuration>

И это решило проблему.

...