【问题标题】:Namespace in Code-Behind causing BC30456: 'InitializeCulture' is not a member of 'ASP.page_aspx' error代码隐藏中的命名空间导致 BC30456:“InitializeCulture”不是“ASP.page_aspx”错误的成员
【发布时间】:2016-10-21 22:31:34
【问题描述】:

我正在尝试通过 TFS 和 MS 发布管理来处理 Web 应用程序。该项目构建良好,并且在 Visual Studio 中以调试模式运行时 - 但是当通过 TFS 和发布管理发布它时,我收到错误:

BC30456:“InitializeCulture”不是“ASP.ivmain_aspx”的成员

我一直在寻找可能导致这种情况的原因,但运气不佳。这是一个由各种开发人员多年来开发的相当大的 Web 应用程序,并且发现某些页面在代码隐藏中声明了一个命名空间......那些没有正确运行的页面,所以我从一个问题页面中删除了命名空间,并且然后加载正常!

因此,命名空间显然有一些东西让出版物感到困惑。我可以通过查找所有带有命名空间的代码隐藏文件并将它们取出 - 但以下三个原因让我无法这样做:

  • 添加这些命名空间可能有真正的原因
  • 这些页面有很多带有命名空间的页面,要浏览所有页面将是一项艰巨的任务。
  • 我仍然不确定“为什么”会导致问题 - 对于实际问题可能会有更好/更合适的解决方案。

有没有其他人遇到过同样的问题并有任何建议?

编辑


aspx 页面顶部如下所示:

<%@ Page Language="VB" MasterPageFile="~/Masters/DefaultMasterPage.master" AutoEventWireup="false" CodeFile="ivmain.aspx.vb" Inherits="iAssess.ivmain" %>

并且命名空间在代码隐藏中声明如下:

Namespace iAssess

    Partial Public Class ivmain
        Inherits System.Web.UI.Page

但是,如果我删除 Inherits 值中的命名空间,然后将其从代码隐藏中删除,我不会遇到任何问题。

【问题讨论】:

  • 这些是针对什么版本的 .NET 构建的?
  • IIS (v7) 应用程序池设置为 v4.0,与应用程序 web.config 文件中的目标框架一样。
  • 您是否缺少项目中对任何内容的引用?检查是否有任何损坏的引用(黄色感叹号),但您也可能缺少一些必要的 Microsoft 程序集。
  • 谢谢 - 我不这么认为,因为该项目在调试中运行良好并且如果在 IIS 中托管项目文件。我只是在通过 TFS/发布管理发布/构建后才遇到这个问题。
  • 不过,我的回复可能还是有问题的!

标签: c# asp.net tfs namespaces


【解决方案1】:

我最终从所有引用它的文件中删除了继承命名空间,然后从每个相应的代码隐藏文件中删除了命名空间。现在似乎一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-27
    • 1970-01-01
    • 2012-05-31
    • 1970-01-01
    • 2013-05-17
    相关资源
    最近更新 更多