我正在尝试在服务器上设置一些.NET托管作为对某人的帮助,但我对.NET不太熟悉,当网站上传时,发生了一个错误,当前没有发生错误托管。该网站被编译,因此它主要只是DLL文件和aspx文件,错误信息如下。任何想法需要做些什么来实现这个?
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: BC30456: 'InitializeCulture' is not a member of 'ASP.index_aspx'.
Source Error:
Line 1: <%@ page language="VB" masterpagefile="~/mst_mathsBuddy.master" autoeventwireup="false" inherits="index, App_Web_nl--pcdh" %>
Line 2:
Line 3: <%@ Register Src="Controls/Competition.ascx" TagName="Competition" TagPrefix="uc3" %>
编辑:
该应用程序在IIS6和ASP.NET版本2.0.5727上运行,与currnet托管相同。
答案 0 :(得分:4)
Page.InitializeCulture()仅在ASP.NET 2.0及更高版本中受支持。
您的托管服务提供商仍然使用.NET 1.1运行时来为其网站提供服务,或者您没有为IIS中的Web应用程序配置正确的运行时版本。
编辑:显然有人there遇到了同样的问题,并通过在其网站的发布选项中停用Allow this precompiled site to be updatable
功能来解决此问题。
答案 1 :(得分:3)
通过在发布转换期间允许预编译的站点为可更新功能,整个为每个页面创建一个dll,并且我们不能在发布后更改任何HTML代码,这不是一个好习惯。由于页面指令中的某些问题而发生此错误,因此如果我们确保所有页面都是从正确的类继承,那么您可以摆脱这些问题。
答案 2 :(得分:3)
如果您只在一个页面上遇到此错误,请检查您的.ASPX文件继承的类是否正确。
就我而言,我只在一个页面上遇到此错误。当我最初创建该页面时,我从现有页面复制/粘贴了ASPX和ASPX.vb文件。但是我忘了更新代码隐藏文件中的类名(因此也在Page指令的Inherits属性中的aspx文件中)。
这一切在开发中都运行良好,但是当我编译并将网站推送到测试服务器时,我开始仅在该页面上收到此错误:
System.Web.HttpCompileException错误BC30456:''InitializeCulture''不是.....的成员。
在这两个地方修复类名解决了我的问题。
答案 3 :(得分:2)
我有一个完美的工作网站,这开始发生。我做了'清洁'并重建。之后问题消失了。
答案 4 :(得分:2)
我如何解决这个问题:我删除了服务器上的所有内容然后重新部署。 (而不是仅仅覆盖/合并它)。 显然,我的新代码与一些未被覆盖的旧文件存在冲突。
答案 5 :(得分:1)
为了跟随此主题并且不熟悉Visual Studio的其他人的利益...
allow the precompiled site to be up updatable
功能已启用:
Website -> Start Options ... -> MSBuild Options
这没有解决我的问题;我在这里发帖是因为我花了很长时间才找到它。
答案 6 :(得分:0)
我通过将.vb类名更改为与表单名相同来解决了此问题。还更改了.aspx页面。
答案 7 :(得分:0)
难以理解地将aspx的名称设置为vb代码文件我已经解决了这个问题,但它看起来有点异乎寻常的粘性。
答案 8 :(得分:0)
部署预编译站点时出现此错误。
发出错误的页面与解决方案中的另一个页面具有相同的类名。
我重命名了违规页面的类,重新编译,部署并且错误消失了。
答案 9 :(得分:0)
我通过在发布时取消选中“允许预编译站点可更新” int“预编译选项”中的异常来解决了该问题
答案 10 :(得分:0)
将项目文件从“ WebSite项目”移到“ WebApplication项目”时,我看到了此错误。
解决方案是:
1) Open your .ASPX file
2) Hit F7 to edit its source-content (.VB or .CS etc)
3) If you see "Partial class ...MyClass..." then replace with "Public class ...MyClass..."
4) If you see "Private Sub Form_Load() Handles MyBase.Load" then replace with "Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load"
5) Re-compile / build your web
6) Run, it should work fine.
答案 11 :(得分:0)
从源代码管理中删除bin / dll。
对我来说,这是由构建所创建的DLL文件中的源代码存储库冲突引起的。
理想情况下,生成的二进制文件不会被检入源代码管理。