Avatar billede want2learn Nybegynder
10. december 2006 - 14:53 Der er 17 kommentarer

Kompileringsfejl i vb fil

Hej Jeg får denne fejl:

Beskrivelse: Der opstod en fejl under kompilering af en ressource, der er påkrævet ved behandling af denne anmodning. Læs følgende detaljer om fejlen, og foretag de nødvendige ændringer af kildekoden.

Fejlmeddelelse om kompileringsfunktion: ASPNET: Kontroller, at klassen, der er defineret i denne kodefil, svarer til attributten 'inherits', og at den udvider den korrekte basisklasse (f.eks. Page eller UserControl).

Kildefejl:

Linje 1:  Public Class ShoppingCartItem
Linje 2: 
Linje 3:      Public Description As String

Kildefil: E:\webdesign\ShoppingCartItem.vb    Linje: 1

-- MasterPage.master --

<%@ Master Language="VB" CodeFile="ShoppingCartItem.vb" Inherits="ShoppingCartItem" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Store</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <img src="Banner.gif" id="Banner" />
        <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
        </asp:contentplaceholder>
    </div>
    </form>
</body>
</html>


-- ShoppingCartItem.vb --

Public Class ShoppingCartItem

    Public Description As String
    Public Quantity As Integer

    Public Sub New(ByVal Description As String, ByVal Quantity As Integer)
        Me.Description = Description
        Me.Quantity = Quantity
    End Sub

    Public ReadOnly Property ItemLine() As String
        Get
            Dim Line As String
            Line = Quantity.ToString() & " " & Description
            If Quantity = 1 Then
                Line = Line & " costume"
            Else
                Line = Line & " costumes"
            End If
            Return Line
        End Get
    End Property

End Class
Avatar billede kalp Novice
10. december 2006 - 15:21 #1
hvis du ændre

<%@ Master Language="VB" CodeFile="ShoppingCartItem.vb" Inherits="ShoppingCartItem" %>

til

<%@ Master Language="VB" CodeFile="ShoppingCartItem.vb" %>

hvad siger den så?
Avatar billede want2learn Nybegynder
10. december 2006 - 16:03 #2
Parserfejl
Beskrivelse: Der opstod en fejl under parsingen af en ressource, der er påkrævet ved behandling af denne anmodning. Læs følgende detaljer om parserfejlen, og foretag de nødvendige ændringer af kildefilen.

Meddelelse om parserfejl: Attributten 'CodeFile' kan ikke bruges uden en 'Inherits'-attribut.

Kildefejl:


Linje 1:  <%@ Master Language="VB" CodeFile="ShoppingCartItem.vb" %>
Linje 2: 
Linje 3:  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


Kildefil: /AeronetStore/MasterPage.master    Linje: 1
Avatar billede kalp Novice
10. december 2006 - 16:05 #3
okay nu kan jeg se det..

denne klasse skal arve fra en web klasse... som jeg lige skal finde til dig:P

Public Class ShoppingCartItem
Avatar billede kalp Novice
10. december 2006 - 16:06 #4
Public Class ShoppingCartItem implements System.Web.UI.Page

    Public Description As String
    Public Quantity As Integer

    Public Sub New(ByVal Description As String, ByVal Quantity As Integer)
        Me.Description = Description
        Me.Quantity = Quantity
    End Sub

    Public ReadOnly Property ItemLine() As String
        Get
            Dim Line As String
            Line = Quantity.ToString() & " " & Description
            If Quantity = 1 Then
                Line = Line & " costume"
            Else
                Line = Line & " costumes"
            End If
            Return Line
        End Get
    End Property

End Class
Avatar billede kalp Novice
10. december 2006 - 16:07 #5
og tilføj dette i using så burde det virke

  using System.Web;
  using System.Web.SessionState;
  using System.Web.UI;
  using System.Web.UI.WebControls;
  using System.Web.UI.HtmlControls;

(dem den laver bølge under fjerner du bare)
Avatar billede want2learn Nybegynder
10. december 2006 - 16:17 #6
Gør jeg sådan her:

Public Class ShoppingCartItem Implements System.Web.UI.Page

    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;

    Public Description As String
    Public Quantity As Integer

    Public Sub New(ByVal Description As String, ByVal Quantity As Integer)
        Me.Description = Description
        Me.Quantity = Quantity
    End Sub

    Public ReadOnly Property ItemLine() As String
        Get
            Dim Line As String
            Line = Quantity.ToString() & " " & Description
            If Quantity = 1 Then
                Line = Line & " costume"
            Else
                Line = Line & " costumes"
            End If
            Return Line
        End Get
    End Property

End Class

så laver den bølger under alle USING så dem sletter jeg og den laver også bølge under Implements System.Web.UI.Page og kører jeg siden alligevel så kommer den med den fejl:

Kompileringsfejl
Beskrivelse: Der opstod en fejl under kompilering af en ressource, der er påkrævet ved behandling af denne anmodning. Læs følgende detaljer om fejlen, og foretag de nødvendige ændringer af kildekoden.

Fejlmeddelelse om kompileringsfunktion: ASPNET: Kontroller, at klassen, der er defineret i denne kodefil, svarer til attributten 'inherits', og at den udvider den korrekte basisklasse (f.eks. Page eller UserControl).

Kildefejl:



Linje 1:  Public Class ShoppingCartItem Implements System.Web.UI.Page
Linje 2: 
Linje 3:      Public Description As String


Kildefil: E:\webdesign\ShoppingCartItem.vb    Linje: 1
Avatar billede kalp Novice
10. december 2006 - 16:20 #7
okay.. jeg programmere normalt C#

så det kan være man skal skrive import i VB... og man skriver måske implements med småt... men jeg kan jo lige slå det op på nettet!
Avatar billede kalp Novice
10. december 2006 - 16:24 #8
Imports System.Web;
    Imports System.Web.SessionState;
    Imports System.Web.UI;
    Imports System.Web.UI.WebControls;
    Imports System.Web.UI.HtmlControls;




Public Class ShoppingCartItem Implements System.Web.UI.Page

    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;

    Public Description As String
    Public Quantity As Integer

    Public Sub New(ByVal Description As String, ByVal Quantity As Integer)
        Me.Description = Description
        Me.Quantity = Quantity
    End Sub

    Public ReadOnly Property ItemLine() As String
        Get
            Dim Line As String
            Line = Quantity.ToString() & " " & Description
            If Quantity = 1 Then
                Line = Line & " costume"
            Else
                Line = Line & " costumes"
            End If
            Return Line
        End Get
    End Property

End Class
Avatar billede want2learn Nybegynder
10. december 2006 - 16:39 #9
Fatter det ikke den vil bare ikke videre.. det med Implements System.Web.UI.Page det forslår den Implements System.Web.UI.ITemplate

Using kan jeg ikke bruge den vil kun bruge Imports og Implements eller Inherits.

Hvis min kode er dette:

Imports System.Web
Imports System.Web.SessionState
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Public Class ShoppingCartItem
    Implements System.Web.UI.ITemplate

    Public Description As String
    Public Quantity As Integer

    Public Sub New(ByVal Description As String, ByVal Quantity As Integer)
        Me.Description = Description
        Me.Quantity = Quantity
    End Sub

    Public ReadOnly Property ItemLine() As String
        Get
            Dim Line As String
            Line = Quantity.ToString() & " " & Description
            If Quantity = 1 Then
                Line = Line & " costume"
            Else
                Line = Line & " costumes"
            End If
            Return Line
        End Get
    End Property

    Public Sub InstantiateIn(ByVal container As System.Web.UI.Control) Implements System.Web.UI.ITemplate.InstantiateIn

    End Sub
End Class

så kommer denne fejl:
Kompileringsfejl
Beskrivelse: Der opstod en fejl under kompilering af en ressource, der er påkrævet ved behandling af denne anmodning. Læs følgende detaljer om fejlen, og foretag de nødvendige ændringer af kildekoden.

Fejlmeddelelse om kompileringsfunktion: ASPNET: Kontroller, at klassen, der er defineret i denne kodefil, svarer til attributten 'inherits', og at den udvider den korrekte basisklasse (f.eks. Page eller UserControl).

Kildefejl:



Linje 1:  Imports System.Web
Linje 2:  Imports System.Web.SessionState
Linje 3:  Imports System.Web.UI
Avatar billede want2learn Nybegynder
10. december 2006 - 16:41 #10
og dette giver ingen bølger overhovedet men kommer med samme fejl alligevel.

Imports System.Web
Imports System.Web.SessionState
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Public Class ShoppingCartItem
    Inherits System.Web.UI.Page

    Public Description As String
    Public Quantity As Integer

    Public Sub New(ByVal Description As String, ByVal Quantity As Integer)
        Me.Description = Description
        Me.Quantity = Quantity
    End Sub

    Public ReadOnly Property ItemLine() As String
        Get
            Dim Line As String
            Line = Quantity.ToString() & " " & Description
            If Quantity = 1 Then
                Line = Line & " costume"
            Else
                Line = Line & " costumes"
            End If
            Return Line
        End Get
    End Property

    Public Sub InstantiateIn(ByVal container As System.Web.UI.Control) Implements System.Web.UI.ITemplate.InstantiateIn

    End Sub
End Class
Avatar billede kalp Novice
10. december 2006 - 16:48 #11
den skal implentere det som jeg skrev tidligere... du skal måske ind og add en reference til System.Web via. visual studio hvis du benytter det
Avatar billede kalp Novice
10. december 2006 - 16:52 #12
prøv at skrive dette i toppen også
Imports Microsoft.VisualBasic

og som du har gjort

Inherits System.Web.UI.Page

men slet det her

Public Sub InstantiateIn(ByVal container As System.Web.UI.Control) Implements System.Web.UI.ITemplate.InstantiateIn
Avatar billede want2learn Nybegynder
10. december 2006 - 17:01 #13
Jeg bruger VWD2005EE.

Når jeg gør det så får jeg samme fejl som tidligere.

Jeg kan se at jeg har en error på MasperPage.master ved ikke om det er den der gør noget.

Class 'ASP.masterpage_master' must declare a 'Sub New' because its base class 'ShoppingCartItem' does not have an accessible 'Sub New' that can be called with no arguments
Avatar billede want2learn Nybegynder
10. december 2006 - 17:03 #14
mit output er dette som jeg kan se under den fejl om kompileringsfejl


C:\Programmer\Microsoft Visual Studio 8\Common7\IDE> "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\vbc.exe" /t:library /utf8output /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Configuration\2.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll" /R:"C:\WINDOWS\assembly\GAC_32\System.Web\2.0.0.0__b03f5f7f11d50a3a\System.Web.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Web.Services\2.0.0.0__b03f5f7f11d50a3a\System.Web.Services.dll" /R:"C:\WINDOWS\assembly\GAC_32\System.EnterpriseServices\2.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Xml\2.0.0.0__b77a5c561934e089\System.Xml.dll" /R:"C:\WINDOWS\assembly\GAC_32\System.Data\2.0.0.0__b77a5c561934e089\System.Data.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Web.Mobile\2.0.0.0__b03f5f7f11d50a3a\System.Web.Mobile.dll" /out:"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\aeronetstore\46deb485\af829358\App_Web_jtoyd4f9.dll" /debug- /define:_MYTYPE=\"Web\" /imports:Microsoft.VisualBasic,System,System.Collections,System.Collections.Specialized,System.Configuration,System.Text,System.Text.RegularExpressions,System.Web,System.Web.Caching,System.Web.SessionState,System.Web.Security,System.Web.Profile,System.Web.UI,System.Web.UI.WebControls,System.Web.UI.WebControls.WebParts,System.Web.UI.HtmlControls  "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\aeronetstore\46deb485\af829358\App_Web_jtoyd4f9.0.vb" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\aeronetstore\46deb485\af829358\App_Web_jtoyd4f9.1.vb" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\aeronetstore\46deb485\af829358\App_Web_jtoyd4f9.2.vb"


Microsoft (R) Visual Basic-compiler version 8.0.50727.42
til Microsoft (R) .NET Framework version 2.0.50727.42
Copyright (c) Microsoft Corporation. Alle rettigheder forbeholdes.

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\aeronetstore\46deb485\af829358\App_Web_jtoyd4f9.0.vb(77) : error BC30455: Der er ikke specificeret et argument for parameteren 'Description' i 'Public Sub New(Description As String, Quantity As Integer)'.

            MyBase.New
            ~~~~~~~~~~
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\aeronetstore\46deb485\af829358\App_Web_jtoyd4f9.0.vb(77) : error BC30455: Der er ikke specificeret et argument for parameteren 'Quantity' i 'Public Sub New(Description As String, Quantity As Integer)'.

            MyBase.New
            ~~~~~~~~~~
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\aeronetstore\46deb485\af829358\App_Web_jtoyd4f9.0.vb(86) : error BC30456: 'ContentPlaceHolders' er ikke medlem af 'ASP.masterpage_master'.

            Me.ContentPlaceHolders.Add("contentplaceholder1")
            ~~~~~~~~~~~~~~~~~~~~~~                         
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\aeronetstore\46deb485\af829358\App_Web_jtoyd4f9.0.vb(151) : error BC30456: 'ContentTemplates' er ikke medlem af 'ASP.masterpage_master'.

            If (Not (Me.ContentTemplates) Is Nothing) Then
                    ~~~~~~~~~~~~~~~~~~~                 
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\aeronetstore\46deb485\af829358\App_Web_jtoyd4f9.0.vb(152) : error BC30456: 'ContentTemplates' er ikke medlem af 'ASP.masterpage_master'.

                Me.__Template_ContentPlaceHolder1 = CType(Me.ContentTemplates("ContentPlaceHolder1"),System.Web.UI.ITemplate)
                                                          ~~~~~~~~~~~~~~~~~~~                                               
E:\webdesign\AeronetStore\ShoppingCartItem.vb(912304) : error BC30311: En værdi af typen 'ASP.masterpage_master' kan ikke konverteres til 'System.Web.UI.MasterPage'.

            CType(Me,System.Web.UI.MasterPage).AppRelativeVirtualPath = "~/MasterPage.master"
Avatar billede kalp Novice
10. december 2006 - 18:58 #15
jeg tager hjem om et par timer.. så sender jeg dig et fuldt eksempel istedet

din klasse ShoppingCartItem er en codebehind fil men den mangler nogle metoder som on page load...

er du sikker på det skal være en code behind fil?

for så du bruge det du lave oprindeligt men ændre toppen til kun at være
<%@ Master Language="VB" %>

og i din ASP.NET Side oprett en ganske normal instans af Shoppingcartitem
Avatar billede want2learn Nybegynder
10. december 2006 - 20:09 #16
efter det jeg har læst mig til ja men selvf. hvis den kan laves til en include fil i aspx og så virke på den måde så er det sådan den skal virke men glæder mig til at du vender tilbage..
Avatar billede kalp Novice
11. december 2006 - 13:45 #17
opret en web.config

og indsæt dette i den


<?xml version="1.0"?>
<configuration>
    <appSettings/>
    <connectionStrings/>
    <system.web>

        <compilation debug="false" strict="false" explicit="true" />
        <pages>
            <namespaces>
                <clear />
                <add namespace="System" />
                <add namespace="System.Collections" />
                <add namespace="System.Collections.Specialized" />
                <add namespace="System.Configuration" />
                <add namespace="System.Text" />
                <add namespace="System.Text.RegularExpressions" />
                <add namespace="System.Web" />
                <add namespace="System.Web.Caching" />
                <add namespace="System.Web.SessionState" />
                <add namespace="System.Web.Security" />
                <add namespace="System.Web.Profile" />
                <add namespace="System.Web.UI" />
                <add namespace="System.Web.UI.WebControls" />
                <add namespace="System.Web.UI.WebControls.WebParts" />
                <add namespace="System.Web.UI.HtmlControls" />
            </namespaces>
        </pages>

        <authentication mode="Windows" />

    </system.web>
</configuration>




smid dette op i toppen af din ASP.NET side..
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="ShoppingCartItem.aspx.vb" Inherits="_ShoppingCartItem" %>


og  din klasse skal se sådan ud.

Partial Class _ShoppingCartItem
    Inherits System.Web.UI.Page

Public Description As String
    Public Quantity As Integer

    Public Sub New(ByVal Description As String, ByVal Quantity As Integer)
        Me.Description = Description
        Me.Quantity = Quantity
    End Sub

    Public ReadOnly Property ItemLine() As String
        Get
            Dim Line As String
            Line = Quantity.ToString() & " " & Description
            If Quantity = 1 Then
                Line = Line & " costume"
            Else
                Line = Line & " costumes"
            End If
            Return Line
        End Get
    End Property

End Class
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester