【发布时间】: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