我的本地副本工作正常,然后我发布网站并收到此错误。
编译错误
描述:编译服务此请求所需的资源时发生错误。请查看以下具体错误详细信息并适当修改您的源代码。
编译器错误消息:BC30456:“主题”不是“ASP.invoice_aspx”的成员。
来源错误:
第 1 行:<%@ page title="Invoice" language="VB" masterpagefile="~/MasterPage.master" autoeventwireup="false" inherits="Invoice, App_Web_1d5eb-af" theme="Default" %>
第 2 行:
3号线:
<asp:Content ID="Content1" ContentPlaceHolderID="Head" Runat="Server">
源文件:C:\Inetpub Solutions_xyAMP_DEV\Invoice.aspx 行:1
这是怎么回事?
HTML 源代码
<%@ Page Title="Invoice" Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="Invoice.aspx.vb" Inherits="Invoice" Theme="Default" %>
<asp:Content ID="Content1" ContentPlaceHolderID="Head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<table style="width:100%;">
<tr>
<td align="center">
<asp:panel id="pnl" runat="server"
Width="992px" Wrap="False" HorizontalAlign="Center" >
<asp:Button id="btnPrepareInvoice" runat="server" Text="Trial Invoice" ></asp:Button>
<asp:Button id="btnFinalize" runat="server" Text="Final Invoice" ></asp:Button>
</asp:panel>
</td>
</tr>
</table>
<br />
<table width="100%">
<tr>
<td class="Subhdr" align="center" >
<asp:Label ID="Label7" Cssclass="ScreenHdr" runat="server" Font-Bold="True"
Font-Size="Medium" Height="24px"
Width="221px">Issued Contracts</asp:Label>
</td>
</tr>
</table>
<asp:datagrid id="dgrContracts"
runat="server" HorizontalAlign="Center" BorderColor="#C0C0FF"
ForeColor="Blue" Font-Size="8pt" Font-Bold="True" BorderWidth="1px"
BorderStyle="Solid" Font-Names="Arial"
ShowFooter="True" OnPageIndexChanged="IssueDataGrid_Page"
OnSortCommand="IssueDataGrid_Sort" AllowPaging="True" CellPadding="2"
GridLines="Horizontal" AutoGenerateColumns="False"
AllowSorting="True" OnItemCommand="IssueDataGrid_Command" Width="100%">
<FooterStyle Wrap="False" HorizontalAlign="Left" VerticalAlign="Top"></FooterStyle>
<SelectedItemStyle Wrap="False" BackColor="#E0E0E0"></SelectedItemStyle>
<EditItemStyle Wrap="False"></EditItemStyle>
<AlternatingItemStyle Font-Size="8pt" Font-Bold="True" Wrap="False" HorizontalAlign="Left" Height="18px"
BorderWidth="1px" ForeColor="#0000C0" BorderStyle="Solid" BorderColor="#C0C0FF" VerticalAlign="Middle"
></AlternatingItemStyle>
<ItemStyle Font-Size="8pt" Font-Names="Arial" Font-Bold="True" Wrap="False" HorizontalAlign="Left"
Height="18px" ForeColor="#0000C0" VerticalAlign="Middle"></ItemStyle>
<HeaderStyle Font-Size="8pt" Font-Names="Arial" Font-Bold="True" Wrap="False" HorizontalAlign="Left"
Height="18px" ForeColor="White" BackColor="Blue"></HeaderStyle>
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Button id="btnSelect" runat="server" Width="13px" BackColor="Yellow" ForeColor="White"
Height="13px" CommandName="Select"></asp:Button>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="MBI_Selected"></asp:BoundColumn>
<asp:BoundColumn DataField="CUST_CombinedNumber" SortExpression="CUST_CombinedNumber" HeaderText="Number">
<HeaderStyle Width="60px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="CUST_Name" SortExpression="CUST_Name" HeaderText="Name" HeaderStyle-Width="110px" />
<asp:BoundColumn DataField="DisplayDate" SortExpression="MBI_Date" HeaderText="Effective">
<HeaderStyle Width="80px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="VEHL_Year" HeaderText="Year">
<HeaderStyle Width="30px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="DisplayMake" HeaderText="Make">
<HeaderStyle Width="100px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="VEHL_Model" HeaderText="Model">
<HeaderStyle Width="120px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="MBI_PlanCode" HeaderText="Plan">
<HeaderStyle Width="30px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="DisplayExchangePrice" HeaderText="Exch">
<HeaderStyle Width="30px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="MBI_DlrCost" HeaderText="Cost" DataFormatString="{0:C}">
<HeaderStyle Width="30px"></HeaderStyle>
</asp:BoundColumn>
</Columns>
<PagerStyle VerticalAlign="Top" NextPageText=">>>>" Height="18px" PrevPageText="<<<<"
HorizontalAlign="Left" ForeColor="White" BackColor="Blue" Wrap="False"></PagerStyle>
</asp:datagrid>
<table width="100%">
<tr>
<td class="Subhdr" align="center" >
<asp:Label ID="Label1" Cssclass="ScreenHdr" runat="server" Font-Bold="True"
Font-Size="Medium" Height="24px"
Width="221px">Cancelled Contracts</asp:Label>
</td>
</tr>
</table>
<asp:datagrid id="dgrCancels"
runat="server" HorizontalAlign="Center" BorderColor="#C0C0FF"
ForeColor="Blue" Font-Size="8pt" Font-Bold="True" BorderWidth="1px"
BorderStyle="Solid" Font-Names="Arial" PageSize="5" ShowFooter="True" OnPageIndexChanged="CancelDataGrid_Page"
OnSortCommand="CancelDataGrid_Sort" AllowPaging="True" CellPadding="2"
GridLines="Horizontal" AutoGenerateColumns="False" AllowSorting="True"
OnItemCommand="CancelDataGrid_Command" Width="100%">
<FooterStyle Wrap="False" HorizontalAlign="Left" VerticalAlign="Top"></FooterStyle>
<SelectedItemStyle Wrap="False" BackColor="#E0E0E0"></SelectedItemStyle>
<EditItemStyle Wrap="False"></EditItemStyle>
<AlternatingItemStyle Font-Size="8pt" Font-Bold="True" Wrap="False" HorizontalAlign="Left" Height="18px"
BorderWidth="1px" ForeColor="#0000C0" BorderStyle="Solid" BorderColor="#C0C0FF" VerticalAlign="Middle"
></AlternatingItemStyle>
<ItemStyle Font-Size="8pt" Font-Names="Arial" Font-Bold="True" Wrap="False" HorizontalAlign="Left"
Height="18px" ForeColor="#0000C0" VerticalAlign="Middle"></ItemStyle>
<HeaderStyle Font-Size="8pt" Font-Names="Arial" Font-Bold="True" Wrap="False" HorizontalAlign="Left"
Height="18px" ForeColor="White" BackColor="Blue"></HeaderStyle>
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Button id="btnCancelSelect" runat="server" Width="13px" BackColor="Yellow" ForeColor="White"
Height="13px" CommandName="Select"></asp:Button>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn Visible="False" DataField="CNCL_ID">
<HeaderStyle Width="0px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="CNCL_Selected"></asp:BoundColumn>
<asp:BoundColumn DataField="CUST_CombinedNumber" SortExpression="CUST_CombinedNumber" HeaderText="Number">
<HeaderStyle Width="60px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="CUST_Name" SortExpression="CUST_Name" HeaderText="Name">
<HeaderStyle Width="200px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="DisplayIssueDate" SortExpression="MBI_Date" HeaderText="Effective">
<HeaderStyle Width="80px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="DisplayCancelDate" HeaderText="Cancel">
<HeaderStyle Width="80px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="MBI_Miles" HeaderText="Effective">
<HeaderStyle Width="60px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="CNCL_CancelMiles" HeaderText="Cancel">
<HeaderStyle Width="60px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="MBI_Price" HeaderText="Price" DataFormatString="{0:C}">
<HeaderStyle Width="40px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="CNCL_CalculatedNetRefund" HeaderText="Price Refund" DataFormatString="{0:C}">
<HeaderStyle Width="40px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="MBI_DlrCost" HeaderText="Cost" DataFormatString="{0:C}">
<HeaderStyle Width="40px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="CNCL_CalculatedNetAdminRefund" HeaderText="Cost Refund" DataFormatString="{0:C}">
<HeaderStyle Width="40px"></HeaderStyle>
</asp:BoundColumn>
</Columns>
<PagerStyle VerticalAlign="Top" NextPageText=">>>>" Height="18px" PrevPageText="<<<<"
HorizontalAlign="Left" ForeColor="White" BackColor="Blue" Wrap="False"></PagerStyle>
</asp:datagrid>
<asp:Label ID="Errormsg" runat="server" ForeColor="#CC0000" ></asp:Label>
</asp:Content>
我在这里想到了我的问题。我的 dbml 上有一个名为“Invoice”的类以及一个名为“Invoice.aspx”的页面。这是一个网站项目,而不是 Web 应用程序,因此 .net 的说法是正确的:“编译器错误消息:BC30456:‘主题’不是‘ASP.invoice_aspx’的成员。”巴拉巴拉。我想知道为什么这在本地没有显示。该网站在我的本地机器上运行良好,这是在将网站发布到服务器后显示的。无论如何,这现在正在发挥作用。我刚刚重命名了 aspx 页面并重新发布。 <~~if thats a word. lol
谢谢, 〜ck在圣地亚哥
进入部署项目的属性页。 在“编译”选项卡下,取消选中“允许此预编译站点可更新”选项。 这解决了我的问题。
以前从未见过这个,但我首先会仔细检查虚拟目录或网站上的版本设置,以确保它针对的是正确的运行时。
试试这个:
http://arjansworld.blogspot.com/2006/11/aspnet-20-tip-theme-is-not-member-of.html
您可以把 HTML 代码放在这里让我们看一下吗? 您确定已清除部署目录中的所有旧 DLL 吗?
我也有同样的问题。这与主题无关。检查 bin 文件夹中重复的 DLL。您可以删除
',App_Web_1d5eb-af'
您继承声明的一部分。但问题是 bin 文件夹中存在重复的库,一旦您识别并删除/移动它们,错误就会消失。如果不将它们全部删除并重建,一些剩余的遗留 dll 可能会成为问题。
我也有类似的问题。我找到了解决方案here。
当项目中有 2 个同名的部分类时,就会出现问题。就我而言,我已将
Home.aspx.vb
重命名为 Home-OLD.aspx.vb
,并将其替换为另一个名为 Home.aspx
的页面(和代码隐藏文件)。问题是我没有重命名 Home-OLD.aspx.vb
中的类,所以我在项目中有 2 个名为 Home
的类。
我最终注释掉了旧的
Home-OLD.aspx
和 Home-OLD.aspx.vb
代码,现在它起作用了。
如果您已验证没有类名冲突并且您使用的是动态编译网站,则可能需要清除临时 ASP 文件。查看 .dll 错误的完整路径并删除它所在的文件夹。
C:\Windows\Microsoft.NET\Framework 2.0.50727\Temporary ASP.NET Files\ [您的站点] \ [随机数] \ [您的站点 dll]
C:\Windows\Microsoft.NET\Framework64 2.0.50727\Temporary ASP.NET Files\ [您的站点] \ [随机数] \ [您的站点 dll]