06. marts 2012 - 14:45Der 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
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?
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>
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.