Avatar billede TrierDK Nybegynder
06. marts 2012 - 14:45 Der er 14 kommentarer og
1 løsning

Brug af egne classes

Hej

Jeg har en C# ASP.NET Solution, som består af to projects, én som indeholder .aspx-siderne og en ved navn WebClasses indeholdene to mapper hhv. Controls og Functions.

I Controls-mappen ligger mine Custom Controls og i Functions-mappen ligger en række Classes.

I mit Webproject har jeg så tilføjet WebClasses til References, og i mine codebehinds har jeg tilføjet using WebClases.Functions mens jeg i mine aspx-sider bruger <%@ Register Assembly="WebClasses" Namespace="WebClasses.Controls" TagPrefix="customs" %>

Alt dette virker perfekt når jeg debugger i VS, men når jeg har deployet til webserveren kommer den med følgende fejl:
CS0246: The type or namespace name 'WebClasses' could not be found (are you missing a using directive or an assembly reference?)

Skal sige at webserveren kører ASP.Net 2.0 (Don't ask why)

Mangler jeg at tilføje noget til Web.Config, kan webserveren blokere noget for mig, eller hvad f.... gør jeg forkert?

Er lidt grøn i ASP.NET, har kodet en del C#.

Glæder mig til at se hvad i kan komme med.
På forhånd tak
Avatar billede arne_v Ekspert
06. marts 2012 - 14:55 #1
er WebClasses.dll uploaded til serveren? og hvor?
Avatar billede TrierDK Nybegynder
06. marts 2012 - 15:00 #2
Jeps, både WebClasses.dll og WebClasses.pdb ligger i bin-folderen
Avatar billede arne_v Ekspert
06. marts 2012 - 15:11 #3
Er WebClasses.dll bygget med target 2.0?
Avatar billede TrierDK Nybegynder
06. marts 2012 - 15:25 #4
Ja, det mener jeg at jeg har stillet.

Hvor kan jeg evt. checke det?
Avatar billede arne_v Ekspert
06. marts 2012 - 21:12 #5
Check indstilling i VS.

Koer ILDASM paa DLL.
Avatar billede TrierDK Nybegynder
08. marts 2012 - 09:01 #6
I Manifestet står der øverst

// Metadata version: v2.0.50727

Er det den jeg skal have fat i?
Avatar billede arne_v Ekspert
08. marts 2012 - 20:00 #7
der staar ihvertfald 2.0
Avatar billede arne_v Ekspert
08. marts 2012 - 20:00 #8
men er det i ILDASM du kigger?
Avatar billede TrierDK Nybegynder
08. marts 2012 - 20:13 #9
Ja, det er det
Avatar billede arne_v Ekspert
08. marts 2012 - 21:00 #10
Og dit bin dir er i root af dit dir tree?
Avatar billede TrierDK Nybegynder
08. marts 2012 - 21:33 #11
Jeps
Avatar billede TrierDK Nybegynder
09. marts 2012 - 08:10 #12
Nå, nu har jeg fundet ud af at hvis jeg ændrer CodeBehind i Page-tagget øverst til Codefile og uploader Codebehinden til serveren, så kan den køre siderne direkte fra codebehinden, men hvis jeg vil have den til at læse codebehinden fra dll-en, så fejler den.

Jeg har ikke adgang til WebDeploy tool på webserveren, så jeg laver en Publish til mit eget drev og uploader derefter det er publiceret via FTP. Kan det være det der ødelægger det, eller burde den kunne læse dll-erne alligevel?
Avatar billede arne_v Ekspert
11. marts 2012 - 01:12 #13
Ingen anelse
Avatar billede ntholm Nybegynder
14. oktober 2012 - 13:33 #14
Jeg mener at problemet her kan være at man fra Visual Studio kun publisher 1 projekt - og så mangler dit web-build simpelten librariet med metoderne fra dine andre projekter (selvom de er i samme solution)

Løsningen kan være at overføre den rette .dll fil fra bin mappen (i dit backend projekt med alle metoderne) - til bin mappen i din online published solution. Efter deploy.

Jeg håber det hjælper.


Jeg ved ikke om dette er hvad du har brug for. Når jeg laver asp.net front-enden. Plejer jeg at gøre sådan her f.eks:

<%@ Import Namespace="PROJEKT.MAPPE" %>

<ul>
    <% UserDAL myClass = new UserDAL(); %>
    <% foreach (Object o in (List<Object>)myClass.Method())
        { %>
        <li>
            <%=o.Id%>
        </li>
    <% } %>
</ul>
Avatar billede TrierDK Nybegynder
19. april 2013 - 15:19 #15
Lukker
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