[C#.NET] DLL bestand in BIN directory

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • P.O. Box
  • Registratie: Augustus 2005
  • Niet online
Ik ben voor het eerst een .NET website aan het maken. Ben behoorlijk bekend met programmeertalen uit eerdere generaties, maar heb erg veel problemen met het wennen aan .NET, die wat mij betreft teveel voor mij denkt waardoor ik niet goed in de gaten heb wat er achter de schermen nou feitelijk gebeurd. Maar goed, dat terzijde...
na veel gepruts, kom ik op het volgende probleem waar ik echt niet meer uit kom:
Ik heb gelezen dat ASPX en ASPX.CS files de eerste keer dat ze worden aangeroepen automatisch worden gecompiled. Prima, heb ik geen last van, behalve dan dat de allereerste keer de pagina wat trager is.

Ik krijg echter het probleem dat alle pagina's op mijn site werken, behalve 1 (lokaal werken ze allemaal, maar zodra ik ze upload dus 1 niet). Dat is (waarschijnlijk niet toevallig) een pagina die ik er later bijgemaakt heb. Ik wilde eerst de site testen zonder die pagina. Als ik deze probleem pagina oproep krijg ik de volgende error:

code:
1
2
3
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 'Admin_Files_Edit._DefaultAdmin'.

* De naam van het type heb ik al uit denk treure gewijzigd in de hoop dat het daar aan lag...

Na veel googlen vond ik dat je een ASPX site ook van tevoren kon compilen en dat dat onderdeel van het probleem kon zijn. Dus ik de website van tevoren gecompiled met Visual Web Developer 2008. Het in de BIN folder aangemaakte DLL en PDB bestand heb ik naar de BIN map online geFTPt.
en Voila, feest, de pagina die eerst een foutmelding gaf werkt nu perfect ! ....... maar helaas.... nu werkt een andere pagina ineens niet meer. Ook weer maar 1 pagina die niet werkt. Dit is de foutmelding:

code:
1
2
3
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. 

Compiler Error Message: CS0433: The type 'Users._Default' exists in both 'c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\7830b95c\30ec5ee6\assembly\dl3\45b3248f\9085ce9d_3f8eca01\MyWebsite.DLL' and 'c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\7830b95c\30ec5ee6\App_Web_users.aspx.cs.fdf7a39c.nayywigs.dll'


volgens mij is er bij deze nieuwe error een conlict tussen de precompilede en "bij-eerste-keer-aanroep"-compilatie.

Ik heb geen idee hoe ik dit moet oplossen. Ik heb de Temporary ASP.NET files directory geleegd, ik heb in de web.config de tag <compile ... > met allerlei attributen geprobeerd. Probleem is dus wat ik in het begin al schetste, dat ik te weinig weet en controle heb over wat er achter de schermen bij .NET allemaal gebeurd, waardoor ik ook niet meer lijk te kunnen puzzelen naar een oplossing.

Wie heeft er enig idee?

Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 11:39

Haan

dotnetter

In de code-behind files (de aspx.cs bestanden) staan classes, standaard wordt daar een class genaamd _Default aangemaakt, dat gaat mis als je meerdere aspx files gaat mergen in 1 dll. Je moet dus die classes hernoemen naar iets anders dan _Default (is sowieso wel zo netjes)

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • Daspeed
  • Registratie: Maart 2001
  • Laatst online: 10:53
Misschien ook interessant om te lezen:
http://www.google.nl/#hl=...b+appl&fp=940c34d36a67a1d

Zelf ben ik meer fan van de web application projecten overigens.

Acties:
  • 0 Henk 'm!

  • P.O. Box
  • Registratie: Augustus 2005
  • Niet online
Haan schreef op dinsdag 05 januari 2010 @ 21:59:
In de code-behind files (de aspx.cs bestanden) staan classes, standaard wordt daar een class genaamd _Default aangemaakt, dat gaat mis als je meerdere aspx files gaat mergen in 1 dll. Je moet dus die classes hernoemen naar iets anders dan _Default (is sowieso wel zo netjes)
bedankt voor de snelle reactie...
zoals je in mijn eerste code-block kunt zien heb ik hem hernoemd naar _DefaultAdmin... het is ook de enige CS file met daarin die naam. Helaas hielp dat niets en bleef ik dezelfde foutmelding als in het eerste code-block krijgen....
Daspeed schreef op dinsdag 05 januari 2010 @ 22:02:
Misschien ook interessant om te lezen:
http://www.google.nl/#hl=...b+appl&fp=940c34d36a67a1d

Zelf ben ik meer fan van de web application projecten overigens.
ik heb al een hele zooi van dat soort sites gelezen... zeer interessant leesvoer allemaal dat zeker... maar het heeft me nog niet tot een oplossing voor mijn probleem gebracht, behalve dat ik enigszins lijk te begrijpen waar het fout gaat, maar dat ik het niet opgelost krijg :) (dat komt waarschijnlijk doordat ik het enigszins begrijp ipv helemaal begrijp ;))

Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 11:39

Haan

dotnetter

Ach ja ik zie het al, er staat nog een andere versie vam de dll in de GAC. Dat is vaak een gezeur om eruit te krijgen. Maar met het gegeven dat je de ASP.Net GAC wil legen, kom je er hopelijk wel uit.

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • Xiphalon
  • Registratie: Juni 2001
  • Laatst online: 17-09 17:27
Assemblies uit de GAC halen gaat heel simpel hoor:
  • Start de windows explorer
  • ga naar C:\windows\assembly
  • zoek de gewenste assembly
  • selecteer die
  • duw op de 'delete' knop op je toetsenbord, klik rechts en kies voor 'delete' of gebruik het menu
  • klaar!

Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 11:39

Haan

dotnetter

Mja, misschien is GAC ook niet de juiste term, het is de ASP.Net cache dat hier het probleem geeft. Kijk ook maar naar het filepath in het tweede voorbeeld van de TS.

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • P.O. Box
  • Registratie: Augustus 2005
  • Niet online
ok, ik heb het werkend...

ik heb de DLL bestanden weer uit de bin directory verwijderd.

Verder bleek ik in mijn aspx file in de Page directive het volgende te hebben staan:

<@Page CodeBehind="myfile.aspx.cs" ....

toen ik dat veranderde in:

<@Page Src="myfile.aspx.cs" ....

werkte alles ineens wel. Vraag me niet waarom ik vrijdagnacht om 2 uur dat ineens zie, maar ik ben blij dat het werkt. Waar ik echter minder blij mee ben: Ik weet niet waarom het werkt ! kan iemand mij dat uitleggen?

Acties:
  • 0 Henk 'm!

  • P.O. Box
  • Registratie: Augustus 2005
  • Niet online
iemand een idee? ik zou het namelijk graag willen begrijpen :)

Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 11:39

Haan

dotnetter

Visual Studio doet standaard <@Page CodeFile="myfile.aspx.cs".. dat is weer een andere manier :P

Geen idee wat de verschillen zijn though..

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • creator1988
  • Registratie: Januari 2007
  • Laatst online: 17-09 20:55
Pagina: 1