webForumDet fria alternativet

Nytt namespace funkar ej i mitt webbprojekt?

.NET

7 svar · 311 visningar · startad av tonyh

Medlem sedan okt. 2002107 inlägg
Frågan#1

Jag får ett felmeddelande:

Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately. 

Parser Error Message: Could not load type 'MyNamespace.UserControls.myHeader'.

Source Error: 

Line 1:  <%@ Control Language="c#" AutoEventWireup="false" Codebehind="MyHeader.ascx.cs" Inherits="MyNamespace.UserControls.MyHeader" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>
Line 2:  <meta http-equiv="Content-Type" content="text/html; charset=<%#CharSet %>">
Line 3:  <!--TODO: ADD META TAGS -->

(klagar på Line 1)

Sidan fungerar bra när jag utvecklat den lokalt men nu när jag laddar upp den m.h.a FTP till min skarpa miljö så fungerar den inte, ty det verkar som om den inte känner till mitt 'Namespace', måste koden kompileras på servern den skall köras på för att namespacet skall vara känt för CLR:en?

Hur fungerar det här med namespace, byggs namespace strukturen upp vid 'runtime'?

Alla förslag uppskattas!!!

Tack på förhand!

Medlem sedan dec. 20003 887 inlägg
#2

Det här låter som ett fall av felaktig sökväg. Nu kan jag vara ute på hal is, men då man använder sig av CodeBehind-attributet måste väl, som du säger, den kompilerade filen ligga under root/bin på servern?

Jag använder mig utav Src och undviker således det lilla problemet.

Medlem sedan okt. 2002107 inlägg
#3

Tack men...

Hur använder man sig av Src?

'felaktig sökväg'? Jag använder mig av samma sökväg på min lokala burk som på skarpa maskinen, har namespace en koppling till filens sökväg i filstrukturen eller är detta en tillfällighet?

Måste den ligga under root / bin, den gör det dock inte det på min lokala miljö?

Medlem sedan sep. 20026 425 inlägg
#4

Exempelvis så här:

<%@ Control Language="c#" AutoEventWireup="false" [b]Src="MyHeader.ascx.cs" [/b]Inherits="MyNamespace.UserControls.MyHeader" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>
Medlem sedan jan. 20012 204 inlägg
#5

Själva grejen är nog att .dll filen ligger i fel mapp.

Medlem sedan okt. 2002107 inlägg
#6

Tack Mr. P

Det verkade som om det var ett .dll fel...

Jag gjorde så att jag bytte ut dll:en på skarpa miljön mot min lokala dll för detta projekt, detta fick det hela att funka men hällst av allt skulle jag nog vilja att det var två helt separata dll:er... skapas det en ny dll för varje projekt?
D.v.s om jag skapar ett nytt projekt kommer det att hamna en ny dll i bin mappen?

Tack för hjälpen ni som tänkt till ;)

Medlem sedan dec. 20003 887 inlägg
#7

Det beror på vilken utvecklingsmiljö du använder. Nu var det så länge sedan jag använde VS.NET, så jag kan inte svara riktigt på hur det fungerar, men jag antar att varje CodeBehind får sin kompilerade dll-fil varje gång projektet byggs. Vart den hamnar får någon annan svara på ;)

Jag arbetar i HomeSite och använder mig av csc, när jag behöver förkompilera något. Den kompilerade filen placerar jag i /bin.

Det praktiska med Src är att det kompileras run-time, när det behövs och ASP.NET sköter det alldeles ypperligt tycker jag.

Medlem sedan jan. 20012 204 inlägg
#8

tonyh - Ja det skapas en specifik .dll fil för varje projekt. Lite beroende på hur du har det på det webbhotell men oftast är det väl så att direkt under rooten ligger /Bin och där lägger du alla dll:er. Vilka är 1 st för varje projekt.

251 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)