C# 使用Twitterizer更新Twitter状态时出错

C# 使用Twitterizer更新Twitter状态时出错,c#,twitterizer,json.net,C#,Twitterizer,Json.net,我有一个测试应用程序,用于twitterizer var temp = TwitterViewModel.TokenStore; string token = HttpContext.Current.Request.QueryString["oauth_token"]; string verifier = HttpContext.Current.Request.QueryString["oauth_verifier"]; string Consumer

我有一个测试应用程序,用于twitterizer

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;
var temp=TwitterViewModel.TokenStore;
string token=HttpContext.Current.Request.QueryString[“oauth_token”];
字符串验证器=HttpContext.Current.Request.QueryString[“oauth_验证器”];
字符串ConsumerKey=WebConfigurationManager.AppSettings[“twitterApiKey”];
字符串ConsumerCret=WebConfiguration Manager.AppSettings[“TwitterConsumerCret”];
OAuthTokenResponse TwitterResponse=OAuthUtility.GetAccessToken(ConsumerKey、ConsumerCret、token、verifier);
var Tokens=新的OAuthTokens();
foreach(TwitterViewModel.TokenStore中的KeyValuePair令牌)
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.Update(标记“testmsg”);
ResponseErrorMessage=Response.ErrorMessage;
ResponseResult=Response.Result.ToString();
ResponseContent=Response.Content;
似乎在起作用,直到达到这条线: TwitterResponse=TwitterStatus.Update(令牌,“testmsg”) tweet被放在twitter的“墙上”,我收到一条错误消息:“无法加载文件或程序集'Newtonsoft.Json,Version=3.5.0.0…”。我检查了我的包,我有一个newtonsoft.json 4.0.1。如果可能的话,我真的不想将newtonsoft软件包从4.0降级到3.5

如果有人知道我如何解决这个问题,那就太好了!干杯。

你可以

  • 在app.config中添加一个,以指定Twitterizer应改用新版本(假设API未更改)

  • 并根据Json 4.0.1自行重建


  • 关于备选方案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>
    
    。。。
    
    它解决了这个问题