这里我试图在.net mvc中实现支付网关的条带 我的查看代码如下。
@{
ViewBag.Title = "Index";
}
<link type="text/css" rel="stylesheet" href="https://checkout.stripe.com/v3/checkout/button-qpwW2WfkB0oGWVWIASjIOQ.css">
<script src="/Scripts/jquery-1.7.1.js"></script>
<form action="/Home/Charge" method="POST">
<article>
<label>Amount: $5.00</label>
</article>
<script src="//checkout.stripe.com/v2/checkout.js"
class="stripe-button"
data-key="My Public key"
data-locale="auto"
data-description="Sample Charge"
data-amount="500">
</script>
</form>
控制器中的代码如下所示。
public ActionResult Charge(string stripeEmail, string stripeToken)
{
var customers = new StripeCustomerService();
var charges = new StripeChargeService();
var customer = customers.Create(new StripeCustomerCreateOptions
{
Email = stripeEmail,
SourceToken = stripeToken
});
var charge = charges.Create(new StripeChargeCreateOptions
{
Amount = 500,//charge in cents
Description = "Sample Charge",
Currency = "usd",
CustomerId = customer.Id
});
return View();
}
我在 Global.asax.cs 文件中保存的秘密密钥
StripeConfiguration.SetApiKey("My Sescrete key");
完成所有这一部分后,我运行了我的申请。 什么时候到达
var customer = customers.Create(new StripeCustomerCreateOptions
{
Email = stripeEmail,
SourceToken = stripeToken
});
这部分,然后我在这里得到错误
无法加载文件或程序集“Newtonsoft.Json,Version = 9.0.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed”或其中一个依赖项。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)
当我安装带有9.0.1 版本的 Newtonsoft.Json时,它再次开始给出相同的问题,但对于版本= 4.5.0.0 ,它出现在非常在下面一行的gloabal.asax.cs文件中加注。
WebApiConfig.Register(GlobalConfiguration.Configuration);
答案 0 :(得分:0)
如果您的解决方案中有多个项目,请在所有项目中更新Newtonsoft.Json。您的解决方案中的多个项目可能包含Newtonsoft.Json,但有些项目的版本不同。
答案 1 :(得分:0)
最新反应,但可能会对某人有所帮助。如果碰巧您的应用程序部署了更高版本的Netwonsoft,请说v.11.0.2,并且您的应用程序抱怨v.9.0,请确保您在app.config中配置了绑定重定向,例如:
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
</dependentAssembly>
</assemblyBinding>
。在将应用程序部署到生产环境时,请确保配置文件位于dll或exe旁边。
答案 2 :(得分:-1)
通过删除代码行解决了问题
WebApiConfig.Register(GlobalConfiguration.Configuration);
来自 Global.asax.cs 文件