Assembly problem

Naredil sem sledeče:
Imam en file functions.cs, ki ga nisem dal v app_code, ampak v svoj direktorij komponente.
Sedaj pa v test.aspx.cs hočem klicati funkcijo GetDataset (napisano v functions.cs), vendar mi prevajalnik javi:
Error    1    Could not load file or assembly 'Koda' or one of its dependencies. The system cannot find the file specified. 
Koda v functions.cs:
namespace Koda
{
    public ...
}
Koda v test.aspx.cs
using Koda;
.....
DS = GetDataset();

Če pa dam using Koda; v še enem drugem file-u, potem pa se mi prevaja. Če pa je zadaj aspx page, potem pa ne.

Kaj je to, kako zej to use-at. Moram kam dodati kšne assembly-e? 

Avtor: fora, objavljeno na portalu SloDug.si (Arhiv)

Leave a comment

Please note that we won't show your email to others, or use it for sending unwanted emails. We will only use it to render your Gravatar image and to validate you as a real person.

bojanv
bojanv - sreda, 27. december 2006

Jz bi še samo dodal, da je tudi odvisno od tega, kako si zastaviš projekt. Nekateri imajo vse v enem projektu (ker ne potrebujejo dodatnih knjižnic - ne potrebujejo "razširljivost"), medtem ko drugi delajo na način, da knjižnice uporabijo še v druge namene. Če nimaš kakšnih posebnih potreb po deljenju, se ti ne splača delat posebej knjižnic (še posebej, če gre za "majhen" projekt), ker lahko performansa trpi. Sicer je pa težko definirat, kaj je majhen projekt. Za kakšna dodatna pojasnila smo ti na voljo na tem forumu. Je pa priporočljivo, da si prebereš kako metodologijo arhitektur rešitev. 

AndrejT
AndrejT - sreda, 27. december 2006

Bolj konkretno - V Visual Studiu delaš z rešitvami (Solution), ki lahko vsebujejo enega ali več projektov). V rešitvi Imaš glavni projekt, ki se prevede v exe (WIndows Forms) ali predstavlja tvoj web (html, aspx, ..., ta se privzeto prevaja ob prvem dostopu do weba). Vsi drugi projekti se prevedejo v razširitvene knjižnice (dll). Da samostojnemu projektu dodaš nov projekt, v Visual Studiu izberi npr. File | Add | New project... | Windows | Class Library. Ob prevajanju se ti prevedejo vsi projekti v rešitvi, vrstni red je določen glede na odvisnost med projekti.V ASP.NET ti sicer tega ni treba delat, ker lahko vso dodatno kodo postaviš v imenik App_Code, vendar ponavadi pride prav, da imaš kodo lepo porazdeljeno in popredalčkano po knjižnicah, ki jih povrh vsega lahko uporabljaš tudi pri drugih projektih (standardna praksa). V teh projektih imaš pri ASP.NET ponavadi samo non-UI kodo, torej poslovno logiko, dostop do baze, ipd..., lahko pa si pripraviš tudi knjižnico svojih spletnih kontrolnikov, ki jih nameravaš uporabit v drugih projektih. Glavni projekt torej nosi ves uporabniški vmesnik tvoje spletne aplikacije, vključno z masterji, ipd., na tvoje vprašanje glede masterja pa težko odgovorim drugače kot z "da", ker do masterja lahko vedno prideš preko spletne strani (aspx), ki se trenutno procesira. Je pa to že bolj stvar tega, kako široko in razširljivo si projekt zastaviš. Glede na to, da šele začenjaš, bi ti morda svetoval, da poskušaš ostati v okvirih samostojnega projekta in dodatne kodne datoteke tlačiš v imenik app_code. Pa priporočam ti pregled primerov na spletni strani ASP.NET oz. videov na isti strani.

fora
fora - sreda, 27. december 2006

Ja tole z dll-ji me zelo zanima. Prej sem delol v Delphiju, pred pol meseca pa sem migrirol na Visual studio, potem ko je Borland objavil zamudo pri izzidu Delphi Higlander (for NET 2.0).Če prav razumem lahko tako projekt razbijem na več delov. Nekaj podobnega kot bpl-ji v Delphiju, če kdo pozna.Ker sem nov v Studio, me zanima če bi bilo pretežko, da bi mi povedal, kako naredim podprojekte za ASP.NET. Imam lahko vse te projekte naenkrat odprte v solution Explorer. Ali moram projekte posebej odpirati in vedno znova build-ati, da bo ratal dll, potem pa vse to samo še uporabljam.Recimo da v en projekt dam master file. Lahko potem v drugih PODprojektih dostopam do tega master-ja?Ja vem da je veliko vprašanj, samo nekaj časa že delam na studio, pa so se mi pojavila prva vprašanja.Pa hvala za prvi odgovor.

AndrejT
AndrejT - petek, 22. december 2006

Ali Functions.cs daj v kakšen podprojekt (recimo neka splošna, skupna knjižnica), kjer se bo prevedel v Dll ob prevajanju z Visual Studiom (pre-deployment), ali pa ga vrzi v App_Code, kjer se bo prevedel ob prvem dostopu do aplikacije, vendar bo na strežniku ostal viden v izvorni kodi.