【问题标题】:MissingManifestResourceException: Could not load App_LocalResources in Release Mode in ASP.NETMissingManifestResourceException:无法在 ASP.NET 中以发布模式加载 App_LocalResources
【发布时间】:2021-08-01 20:26:06
【问题描述】:

我在 MyPage.resx 文件中有资源。 资源有 BuildAction: Embedded Resource。

我是这样加载的

var rm = new ResourceManager("MyApp.Web.App_LocalResources.MyPage.aspx", Assembly.GetExecutingAssembly());
            RadWindow1.Title = rm.GetString("MyResource");

加载正常,当您在调试版本中加载它时。 但是,当您在 Release 构建中加载它时,它会给您错误:

System.Resources.MissingManifestResourceException:找不到适合指定区域性的任何资源或 中立文化。确保 “MyApp.Web.App_LocalResources.MyPage.aspx.resources”是正确的 在编译时嵌入或链接到程序集“App_LocalResources.root.aakngnnt”中,或者 所需的所有附属程序集都是可加载且完全签名的。

我尝试将 BuildAction 更改为“Content”,但随后在 Debug build 中也出现此错误。

母版页的这一行发生错误,但我敢肯定,这一行没问题:

<input type="hidden" id="browser" class="<%=Request.Browser.Browser + Request.Browser.MajorVersion%>" />

调用栈:

[MissingManifestResourceException:找不到任何适合指定区域性或中性区域性的资源。确保“MyPage.aspx.resources”在编译时正确嵌入或链接到程序集“App_LocalResources.root.dldzdmsy”中,或者所有所需的附属程序集都是可加载的并且完全签名。] System.Resources.ManifestBasedResourceGroveler.HandleResourceStreamMissing(字符串文件名)+441 System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(CultureInfo 文化,Dictionary`2 localResourceSets,布尔 tryParents,布尔 createIfNotExists,StackCrawlMark 和 stackMark)+1219 System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo requestedCulture, Boolean createIfNotExists, Boolean tryParents, StackCrawlMark& stackMark) +1008 System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo 文化,布尔 createIfNotExists,布尔 tryParents)+43 System.Resources.ResourceManager.GetObject(字符串名称,CultureInfo 文化,布尔 wrapUnmanagedMemStream)+591 System.Web.Compilation.ResourceExpressionBuilder.GetResourceObject(IResourceProvider resourceProvider, String resourceKey, CultureInfoculture, Type objType, String propName) +33 ASP.mypage_aspx.__RenderContent1(HtmlTextWriter __w, Control parameterContainer) +282 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter 作家,ICollection 孩子)+276 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter 编写器,ControlAdapter 适配器)+80 ASP.masterpage_master.__Renderform1(HtmlTextWriter __w, Control parameterContainer) 在 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter 作家,ICollection 孩子)+276 System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter 作家)+11661287 System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer) +47 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter 编写器,ControlAdapter 适配器)+80 System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer)+53 c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\myapp\fd8c86aa\81836916\App_Web_masterpage.master.cdcab7d2.tzvi75g-.0 中的 ASP.masterpage_master.__Render__control1(HtmlTextWriter __w, Control parameterContainer) .cs:0 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter 作家,ICollection 孩子)+276 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter 编写器,ControlAdapter 适配器)+80 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter 作家,ICollection 孩子)+169 System.Web.UI.Page.Render(HtmlTextWriter writer) +40 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter 编写器,ControlAdapter 适配器)+80 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4239

我该如何解决这个问题?

【问题讨论】:

    标签: asp.net localization embedded-resource resx resourcemanager


    【解决方案1】:

    这是因为调用而发生的

    caption = <%= GetLocalResourceObject("MyResource.Text") %>;
    

    在 js 部分的 aspx 中。

    是的,这很奇怪,但它就是这样发生的。

    【讨论】:

      猜你喜欢
      • 2020-04-08
      • 2022-10-06
      • 2012-04-11
      • 2023-03-07
      • 2018-04-09
      • 1970-01-01
      • 2021-04-14
      • 2018-10-30
      • 1970-01-01
      相关资源
      最近更新 更多