webForumDet fria alternativet

dll-filer

.NET

18 svar · 504 visningar · startad av MagnusJ

Medlem sedan apr. 2004150 inlägg
Frågan#1

Finns det någon bra artikel om hur man gör när man komplimerar sina cs-filer till dll-filer?

Medlem sedan jan. 20001 372 inlägg
#2

Om du går in i kommandotolken och till den mappen där du hittar filen csc.exe och skriver csc /? så får du upp en liten beskrivning av alla kompilerings alternativ.

Medlem sedan apr. 2004150 inlägg
#3

Aha, okej, tack.

Har kollat igenom det där nu, men det skulle vara bra om någon vet någon har en artikel som går igenom dom grundläggande sakerna. Hur man gör för att "infoga" en dll-fil till sidan, och hur man ärver klasser från andra dll-filer.

Medlem sedan apr. 2004150 inlägg
#4

Har ett par frågor till.

Nu när jag ska komplimera en cs-fil, får jag det här meddelandet:
Metadata file 'System.IO.dll' could not be found
Metadata file 'System.Web.UI.dll' could not be found
Metadata file 'System.Web.UI.WebControls.dll' could not be found

Gjorde en bat fil när jag ska komplimera cs-filen:

Set indir=default.cs
Set outdir=default.dll
Set assemblies=System.dll /r:System.IO.dll /r:System.Web.UI.dll /r:System.Web.UI.WebControls.dll

@echo To compile %outdir%
@pause

csc.exe /t:library /out:%outdir% %indir% /r:%assemblies%

@echo Your assembly %outdir% compiled successfully
@pause

Vad ska man skriva för att den ska hitta de filerna?

När man har gjort dll-filen, då om jag vill att en annan cs-fil ska ärva någonting utav den, skriver man då import namn.klassnamn;?

Vad ska man skriva i aspx sidan för att den ska veta vilken dll-fil den ska köra?

Medlem sedan apr. 2004778 inlägg
#5

Mitt tips är att du använder dig av ett utvecklingsverktyg istället. Visual Studio .NET är såklart att föredra men eftersom det kostar en del så finns gratisverktyget Asp.NET Web Matrix, http://www.asp.net/webmatrix/default.aspx?tabIndex=4&tabId=46

Medlem sedan apr. 2004150 inlägg
#6

Jag använder mig utav VS.net. Men jag vet inte hur man ska göra för att komplimera filer i programet, så jag gör det manuellt i kommando tolken.

Hur gör man för att komplimera i vs.net?

Edit: tog reda på det. Dumt av mig att inte insett det tidigare, har bara använt programmet som en "texthanterar". Men nu när jag gjorde ett projekt blev det ju en hel annan utvecklingsmiljö :h

Men jag fick fortfarande samma felmeddelande :/

Medlem sedan apr. 2004778 inlägg
#7

Oj, oj vad du krånglar till det.
I VS.NET skapar du din solution och ett webbprojekt. Du lägger till ett WebForm vilket skapar en .aspx fil och en .aspx.cs. .cs filen är code-behind filen som du lägger in koden i. Du behöver inte ange att .aspx filen ska använda den .cs filen eller någon annan dll eftersom det sker automatiskt. Om du inte vill bygga andra klasser, i så fall kan du skapa ett kodprojekt, bygga lite klasser, lägga till en referens i webbprojektet som pekar på kodprojektet, lägga en using i din code-behind och vips så är det klart.
Men den delen tror jag att du ska skippa tills du lärt dig grunderna i VS.NET.
Rekommenderar att du kollar lite i hjälpen till VS.NET så du lär dig hur det funkar.

Ctrl-Shift-B så bygger du ditt projekt. DLL filerna kompileras då och hamnar där de ska.

Medlem sedan apr. 2004778 inlägg
#8

Om du lägger in en using i din kod, t.ex. System.Web.UI.WebControls och du får ett fel att den inte hittar så får du lägga till en Reference i ditt projekt. Högerklicka på References i din Solution explorer och välj Add Reference och hitta sedan den .dll som behövs.

Medlem sedan apr. 2004150 inlägg
#9

Tackar för hjälpen, blev betydligt lättare nu när allting sker automatiskt.

Nu när dll-filen har skapats ser det fortfarande ut såhär överst i default.aspx.

<%@ Page language="c#" Codebehind="default.aspx.cs" AutoEventWireup="false" Inherits="projekt.page_navigation" %>

Kör den efter dll-filen när det ser ut sådär? Vad är AutoEventWireup för nått?

Medlem sedan juli 200498 inlägg
#10

Du kan läsa om det här (AutoEventWireup)

http://dotnetjunkies.com/WebLog/petergekko/archive/2004/02/12/7108.aspx

/m

Medlem sedan apr. 2004150 inlägg
#11

Okej, tack.

Vad gör resx-filerna? Används de på nått sätt eller kan man ta bort dem?

Medlem sedan juli 20022 537 inlägg
#12

Det är resource-filer som du kan använda till att bl.a. kunna ha olika språk på sidan.

Medlem sedan apr. 2004150 inlägg
#13

Okej, men om man inte har det. Är det bara att ta bort dem då?

Medlem sedan apr. 2004778 inlägg
#14

Jag brukar låta sådant ligga kvar. De ligger ju inte i vägen.
När du lägger ut sajten på en liveserver så flyttar du bara med .aspx filerna och bin-mappen med .dll filerna.

Medlem sedan apr. 2004150 inlägg
#15

Okej, men.

<%@ Page language="c#" Codebehind="default.aspx.cs" AutoEventWireup="false" Inherits="projekt.page_navigation" %>

Nu används väl inte dll-filen? det är väl default.aspx.cs som används?

Medlem sedan apr. 2004778 inlägg
#16

dll filen används. .cs filen kompileras när du bygger projektet. Koden i .cs filen läggs då i .dll filen. Om du sedan flyttar sajten till en annan server behöver du inte flytta med .cs filerna, bara .aspx filerna och bin-mappen med .dll filerna.

Medlem sedan apr. 2004150 inlägg
#17

Aha, okej. Tänkte mest på att det var sökvägen till cs-filen. Hur fungerar det att den hittar vilken dll-fil som ska användas?

Medlem sedan apr. 2004778 inlägg
#18

Det finns bara en .dll fil. Det skapas en .dll fil för varje projekt. Ditt webbprojekt är ETT projekt, med andra ord EN .dll fil.
Det är sådana här saker som VS.NET håller reda på åt oss så vi kan lägga tid på att bygga applikationerna istället. ;)

Medlem sedan apr. 2004150 inlägg
#19

Nu hajar jag.
Det skulle bli enormt jobbigt att komplimera filerna manuellt. :)
Tack för all er hjälp!

262 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)