Dal*_*use 22 c# asp.net azure asp.net-web-api2
我有一个Web API 2项目,其中包含可在本地运行良好的帮助页面但在将其推送到Azure时会抛出此错误:
找不到方法:'System.String System.String.Format(System.IFormatProvider,System.String,System.Object)
我暂时关闭了自定义错误,因此可以在此处看到完整的堆栈跟踪
错误源自这行代码:
string selectExpression = String.Format(CultureInfo.InvariantCulture,MethodExpression,GetMemberName(reflectActionDescriptor.MethodInfo));
见这里的第96行
我甚至不确定这个去哪里.
在此先感谢您的帮助.
Cod*_*ter 29
根据其MSDN页面,您使用的重载仅在.NET 4.6上受支持.
将主机配置为运行.NET 4.6或将项目的目标框架更改为4.5并重新编译.
在4.5中,将会选择一个params object[]
重载,而不必更改代码.
这没有意义.自2009年以来,我们在应用程序中有一行代码
String.Format(CultureInfo.CurrentCulture, "You must specify a new password of {0} or more characters.", _membershipService.MinPasswordLength);
最近我们将项目升级到.NET 4.6,现在,至少对我来说,这一行打破了同样的错误.显然,新的重载正在破坏某些东西,而且这种方法并不新鲜.
如果你既不能将主机升级到4.6也不能将项目降级到4.5,那么就有一种解决方法:将"object []"作为args而不是"object"传递.所以你将强制使用"params object []"重载.示例:
return string.Format(formatProvider, "{0:" + format + "}", new object[] { value });
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
23458 次 |
最近记录: |