我有这个测试应用程序,用于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;
似乎工作正常,直到达到这条线: “TwitterResponse Response = TwitterStatus.Update(Tokens,”testmsg“);” 这条推文被放在推特“墙上”,我收到了一条错误消息:“无法加载文件或程序集'Newtonsoft.Json,Version = 3.5.0.0 ......”。我检查了我的包,我有一个newtonsoft.json 4.0.1。如果它可能我真的不想将newtonsoft软件包从4.0降级到3.5。
如果有人知道如何解决这个问题,那就太棒了!欢呼声。
答案 0 :(得分:5)
你可以
在app.config中添加<bindingRedirect>
以指定Twitterizer应该使用新版本(假设API未更改)
get the Twitterizer source并自行重建Json 4.0.1。
答案 1 :(得分:1)
对于Rup提供的选项1.我使用以下内容更新了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>
它解决了这个问题。