Avatar billede Slettet bruger
15. februar 2006 - 09:50 Der er 46 kommentarer og
1 løsning

ASP.NET side kan ikke "se" class

Hej

I forbindelse med flytning af intranet, kan man pludselig ikke længere bruge en mail-funktiion, som er lavet i VB.NET og compilet til en .dll fil og lagt i BIN-biblioteket.

Jeg har efterfølgende prøvet mig lidt frem og det er som om, at ASP.NET-siderne ikke kan se de klasser der er defineret, compilet og lagt i BIN-biloteket.

Jeg håber, der er en der kan hjælpe mig med at løse dette problem.

På forhånd tak.
Avatar billede dr_chaos Nybegynder
15. februar 2006 - 09:54 #1
er der import at dll filerne i toppen af aspx siderne ?
Avatar billede dr_chaos Nybegynder
15. februar 2006 - 09:54 #2
er det asp.net 1.1 ?
Avatar billede Slettet bruger
15. februar 2006 - 09:58 #3
Ja - det er der.
Avatar billede Slettet bruger
15. februar 2006 - 09:59 #4
hvordan ser jeg det?
Avatar billede dr_chaos Nybegynder
15. februar 2006 - 10:00 #5
Har du kildekoden til intranettet tilgængelig ?
Avatar billede Slettet bruger
15. februar 2006 - 10:01 #6
Ja
Avatar billede dr_chaos Nybegynder
15. februar 2006 - 10:04 #7
prøv at åbne kildekoden med visual studio.
og tryk f5 for at afvikle koden.
Avatar billede Slettet bruger
15. februar 2006 - 10:05 #8
Der sker absolut intet...?
Avatar billede dr_chaos Nybegynder
15. februar 2006 - 10:08 #9
kompiler den koden eller sker der bare ingenting ?
Avatar billede Slettet bruger
15. februar 2006 - 10:09 #10
Der sker bare ingen ting. Men jeg har kompilet koden ved en dospromt (vidste ikke man kunne det andet :-))
Avatar billede dr_chaos Nybegynder
15. februar 2006 - 10:10 #11
ok.
Prøv at oprette et nyt projekt i asp.net 1.1 via visual studio.
Herefter skal du kopiere alle filerne ind i projektet og trykke f5.
Avatar billede Slettet bruger
15. februar 2006 - 10:20 #12
Puha - jeg er lidt ny med ASP.NET/VB.NET og jeg er helt ny med visual studio. Jeg har oprindelig skrevet vores intranet i notepad :-) Når jeg prøver at gøre som du siger, sker der alt muligt underligt. Er der noget særligt jeg skal kigge efter? Eller lyder det som om, jeg gør det forkert?
Avatar billede dr_chaos Nybegynder
15. februar 2006 - 10:24 #13
jo specielt noget med at den ikke kan finde en refrence til en fil eller om man mangler en assembly.
i det projekt du har lavet skal du højre klikke på solution også vælge add new reference.
Under her skal du browse frem til de dll filer som skal inkluderes i projektet.
Avatar billede Slettet bruger
15. februar 2006 - 10:40 #14
Den giver følgende tre fejl, som jeg ikke fatter en meter af:

Error    1    C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\Temporary ASP.NET Files\test\e449a9f7\ce96a982\jwf4nmkg.0.vb(15): error BC30466: Namespace or type specified in the Imports 'myComponents' cannot be found. Make sure the name space or the type is defined and it doesn't contain other aliases.    /   

Error    2    Namespace or type specified in the Imports 'myComponents' cannot be found. Make sure the name space or the type is defined and it doesn't contain other aliases.    C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\Temporary ASP.NET Files\test\e449a9f7\ce96a982\jwf4nmkg.0.vb   


Error    3    Type 'Quote' is not defined.    Z:\TEST\showquote.aspx    8
Avatar billede dr_chaos Nybegynder
15. februar 2006 - 10:42 #15
du har åbnet det i visual studio 2005 og ikke 2003
Avatar billede Slettet bruger
15. februar 2006 - 10:43 #16
Ja??
Avatar billede dr_chaos Nybegynder
15. februar 2006 - 10:45 #17
det betyder at den har lavet et asp.net 2.0 projekt og det er forskelligt fra asp.net 1.1.

hvordan fik du oprindeligt knytte dll filen til dine aspx sider ?
Avatar billede Slettet bruger
15. februar 2006 - 10:47 #18
Jeg lavede den i notepad og kompilede den i en dospromt og flyttede den til BIN-biblioteket og så virkede det
Avatar billede Slettet bruger
15. februar 2006 - 10:48 #19
Men kan det være at der ligger ASP.NET 1.1 på serveren og ASP.NET 2.0 lokalt på min maskine?
Avatar billede Slettet bruger
15. februar 2006 - 10:49 #20
Jeg var lige ude og kigge på serveren og jeg tror at der kun ligger 1.1 der...
Avatar billede dr_chaos Nybegynder
15. februar 2006 - 10:51 #21
virker det som ligger på serveren ?
Avatar billede Slettet bruger
15. februar 2006 - 10:53 #22
nej - det er det der ikke virker. Det holdt op med at virke da vi lavede en kopi af intranettet, installerede en ny server og kopierende det ind igen. Det er som om den ikke kan se bin-biblioteket.
Avatar billede dr_chaos Nybegynder
15. februar 2006 - 10:54 #23
er mappen det ligger i defineret som en applikation ?
Avatar billede dr_chaos Nybegynder
15. februar 2006 - 10:54 #24
altså i IIS ?
Avatar billede Slettet bruger
15. februar 2006 - 10:55 #25
Hvordan ser jeg det?
Avatar billede Slettet bruger
15. februar 2006 - 10:55 #26
Alle filerne ligger i wwwroot
Avatar billede dr_chaos Nybegynder
15. februar 2006 - 10:57 #27
under kontrolpanel/administration/internet information server

fold ud indtil du kan se den mappe som webstedet ligger i og højreklik på den
Avatar billede dr_chaos Nybegynder
15. februar 2006 - 11:00 #28
så skal du højreklikke på standard websted

Under hjemmemappe fanebladet er der et felt som hedder program navn.
Her skal der meget gerne stå en eller anden tekst.
programbeskyttelsen skal være mellem
Avatar billede Slettet bruger
15. februar 2006 - 11:10 #29
DefaultAppPool
Avatar billede dr_chaos Nybegynder
15. februar 2006 - 11:14 #30
ok det kan være at du skal prøve at kompile al ting igen.

På din egen maskine kan du prøve at flytte filerne over og gå ind samme sted som du lige har været. Du skal bare vælge fanebladet asp.net i stedet  og sikre dig at den valgte asp.net version er 1.14...
Avatar billede Slettet bruger
15. februar 2006 - 11:16 #31
Jeg har prøvet at kompile med 1.14 - men det hjalp ikke. Jeg fik helt samme fejl :-(
Avatar billede dr_chaos Nybegynder
15. februar 2006 - 11:20 #32
hvad er myCOmponents ?
Avatar billede Slettet bruger
15. februar 2006 - 11:31 #33
Jeg tog et eksempel fra en bog, da jeg ledte efter fejlen. myComponents er det namespace som jeg har defineret min class under.

Jeg kan godt få det til at virke på min lokale maskine. Men ikke på serveren?
Avatar billede dr_chaos Nybegynder
15. februar 2006 - 11:34 #34
hvordan får du det til at virke lokalt ?
Avatar billede Slettet bruger
15. februar 2006 - 11:38 #35
Jeg kopiere den APS.NET fil ind wwwroot på min computer og dll filen ind i et bibliotek jeg lavede som jeg kaldte "bin" og så virkede det....
Avatar billede Slettet bruger
15. februar 2006 - 12:04 #36
Nu har jeg opdateret serverne med asp.net 2.0, men det virker stadig ikke :-(
Avatar billede Slettet bruger
15. februar 2006 - 12:06 #37
Vil det hjælpe hvis du ser koden?

<%@ Page Language="VB" %>
<%@ Import Namespace="myComponents" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<script runat="server">
    Sub Page_Load()
        Dim myQuote As New Quote
       
        lblOutput.Text = myQuote.ShowQuote()
    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <asp:Label ID="lblOutput" runat="server"></asp:Label>
</body>
</html>

og VB-siden som kompiles:

Imports Microsoft.VisualBasic
Imports System

Namespace myComponents

    Public Class Quote

        Dim myRand As New Random

        Public Function ShowQuote() As String
            Select Case myRand.Next(3)
                Case 0
                    Return "Case 0"
                Case 1
                    Return "Case 1"
                Case 2
                    Return "Case 2"
            End Select
        End Function

    End Class

End Namespace
Avatar billede dr_chaos Nybegynder
15. februar 2006 - 16:30 #38
ikke noget som ser umuligt ud.

Prøv at oprette en ny mappe på serveren og smid alting der ind.
Avatar billede Slettet bruger
22. februar 2006 - 08:52 #39
Hej igen

Jeg fandt ud af at det ikke var nok at installere .net ver. 2. på serveren, jeg skulle også ind og aktivt vælge at den skulle bruge den version.

Jeg takker for hjælpen.
Avatar billede Slettet bruger
22. februar 2006 - 08:52 #40
sender du ikke et svar?
Avatar billede dr_chaos Nybegynder
22. februar 2006 - 08:54 #41
svar :)
Avatar billede Slettet bruger
22. februar 2006 - 09:12 #42
Det var ikke helt et svar, jeg kan ikke accpetere en kommentar....
Avatar billede dr_chaos Nybegynder
22. februar 2006 - 09:16 #43
man skulle tro jeg ville have lært det på nuværende tidspunkt.
Men nogen gange slår hjerne lige fra :)

Vi prøver igen Svar :D
Avatar billede alpapa Nybegynder
24. februar 2006 - 11:49 #44
anthonsen -> Hvordan vælger du at serveren skal køre på .NET version 2 og ikke version 1.1 hvis begge er installeret?

Jakob
Avatar billede dr_chaos Nybegynder
24. februar 2006 - 11:56 #45
under kontrolpanel/administration/internet information server

fold ud indtil du kan se den mappe som webstedet ligger i og højreklik på den
gå ind i fanebladet asp.net
her kan du vælge asp.net version
Avatar billede Slettet bruger
24. februar 2006 - 11:58 #46
Manage
Finder IIS og vælger properties
Der er en fane der hedder ASP.NET og lidt nede på den side kan man vælge version.

Sig til hvis jeg skal uddybe.
Avatar billede alpapa Nybegynder
24. februar 2006 - 12:11 #47
Takker :-)
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
Kategori
Kurser inden for grundlæggende programmering

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