c# - Asp.Net 身份本地化 PublicKeyToken

标签 c# .net asp.net-mvc dll asp.net-identity

我正在尝试使用这篇博文中的建议获取针对 Asp.Net Identity 的瑞典语本地化错误消息:How to localize ASP.NET Identity UserName and Password error messages?

使用 NuGet 我下载了德语语言包,然后在 dotPeek 中打开\packages\Microsoft.AspNet.Identity.Core.2.0.0\lib\net45\de\Microsoft.AspNet.Identity.Core.resources.dll 然后将其导出到新的 VS 项目:

https://github.com/nielsbosma/AspNet.Identity.Resources.Swedish/

我已将生成的\Microsoft.AspNet.Identity.Core.resources.dll 复制到\packages\Microsoft.AspNet.Identity.Core.2.0.0\lib\net45\se 下的新文件夹中。

当我在本地运行我的站点时,我看到 Microsoft.AspNet.Identity.Core.resources.dll 已被复制到 MySite\bin\sv\

但是我无法让它工作:(

如果我在我的 Web.config 中设置:

<system.web>
    ...
    <globalization culture="sv-SE" uiCulture="sv" />
</system.web>

我仍然收到英文默认错误消息。但是,如果我更改为从 NuGet 包含的德语,我会收到德语错误消息。

我使用 dotPeek 将我的 dll 与德语进行了比较,它们是相同的,除了我有 PublicKeyToken=null 而德语的是“31bf3856ad364e35”。这可能是我无法加载我的 dll 的原因吗?无论如何要为 dll 设置 PublicKeyToken 吗?任何解决方法?

感谢您的指点。

最佳答案

除非您拥有 Microsoft 用于签署 dll 的私钥。

更新:作为一种解决方法,直到我们添加对插入您自己的资源的支持,您现在可以使用显式开关包装所有默认身份结果错误消息,应该只有大约 10-20 个用户面临错误。

类似于:

public static string Localize(string error) {
     switch (error) {
          case "<english error>": return "<localized version";
     }
}

关于c# - Asp.Net 身份本地化 PublicKeyToken,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22835981/

相关文章:

c# - 正则表达式应用 - 匹配百分比

c# - HttpUtility HtmlDecode。为什么我需要这个?

c# - 我想将 XML Like 字符串拆分为 c# 或 sql 中的标记

c# - 正则表达式和相对文件路径

.net - Microsoft Security 应用程序 block 的替代方案?

c# - 重定向输出时控制台窗口不可见

asp.net-mvc - 阻止用户显式转到 MVC 页面

c# - 为什么 ServicePointManager.SecurityProtocol 默认值在不同机器上不同?

c# - 如何判断一个文件是否被EFS加密?

c# - 在 .net 中的嵌套循环内执行异步方法时出现问题