Jag vill göra en klass som används av många aspx-sidor. Jag tycker jag läst ganska mycket nu men får det sköna felet "BC30002 Type 'calcClass' is not defined", trots att jag tycker jag importerar rätt.
App_Code/calcClass.vb
Imports Microsoft.VisualBasic
Public Class calcClass
Inherits System.Web.UI.Page
Public Function testFunc(ByVal str As String) As String
testFunc = str & " testFunc funkar"
End Function
End Class
HCshaft.aspx.vb
Imports calcClass
Partial Class HCshaft
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim stri As calcClass = New calcClass
Response.Write(stri.testFunc("JA"))
End Sub
Jag får felet (BC30002) på raden Dim stri As calcClass = New calcClass()
Vad gör jag fel? VS 2008 säger inte att något är fel...
Om dom ligger i samma projekt ska du inte behöva ha Imports calcClass, utan det ska fungera ändå.
Du har alltså inga problem att göra en Build, men när du surfar till sidan får du fel? Det verkar isåfall som att du har någon cache kvar av en äldre build.
Skapas det inte build när man går in på sidan första gången utan att man skapar den i VS?
Jag har kommenterat bort det som går fel och ersatt med annat och när jag använder shift+F5 så uppdateras det nya som gjorts så jag tycker inte att det borde vara det, har även testat från en "ny dator" som inte varit på sidan innan.
Det är inget på webservern som ska justeras eller uppdateras?
Det kompileras första gången någon besöker sidan. Ibland händer det dock att ändringar inte kompileras om. Jag har aldrig råkat ut för det, men jag har läst om andra som har råkat ut för det, även om det verkar vara ovanligt.
Detta var skumt. När jag kör debug (F5 från VS) så funkar det. Men när jag skriver adressen till .aspx-filen så slår det bakut med hänvisning till BC30002. När jag skapade klassen så fick jag frågan om det skulle läggas i App_Code mapp och det sa jag ja till.
Ska man göra något på webservern?