Web site path

Kako dobiš pot do mape, kjer je kodada websita (razvojna faza)?

 

Lp,

Matjaž 

Avtor: o-MA-n-tjaz, 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.

o-MA-n-tjaz
o-MA-n-tjaz - petek, 09. marec 2007

Čeprav sem imel probleme z obrazložitvijo problema smo prišli do rešitve.pril hvala za pomoč točno to sem potreboval. Lp,Matjaž 

pril
pril - petek, 09. marec 2007

aja, če ne veš kateri studio probaj z:mydte = (EnvDTE.DTE)System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE");vsaj v vb-ju to dela :-)lp, pl

pril
pril - petek, 09. marec 2007

uh, uh...kateri visual studio uporabljaš? (v c#, čeprav bo to na pamet, ker delam drugače v vb-ju, ampak isto s..., drugo pakovanje :-))Torej referenca na trenutni visual studio v zagonu je:EnvDTE.DTE mydte;mydte = (EnvDTE.DTE)System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE.8.0");lp, pl

o-MA-n-tjaz
o-MA-n-tjaz - petek, 09. marec 2007

Najbrš je to prava stvar samo jaz tega v C# ne znam usposobit. Če sem prav ugotovil je v C# namesto DTE razred DTEClass. Vendar mi ob kreaciji objekta torej na:DTEClass dte = new DTEClass();vrne sledečo napako:Retrieving the COM class factory for component with CLSID {3C9CFE1E-389F-4118-9FAD-365385190329} failed due to the following error: 80040154. katero pa niti prebližno ne vem kako bi se jo dalo rešiti. Lep dan še naprejMatjaž 

pril
pril - četrtek, 08. marec 2007

Hmmm, potem mislim da rabiš podatek od dokumenta v katerem delaš v Visual studio okolju? Potem ni to stvar niti izvajalnih datotek, niti windows forms ampak Visual studia. V tem primeru uporabiš visual studio objekte. Uporabiš dte objekt (design time environment) Za tvoj primer bi bilo to:DTE.ActiveDocument.Pathlp, pl

o-MA-n-tjaz
o-MA-n-tjaz - četrtek, 08. marec 2007

Bom poskusil še enkrat bolj jasno razložiti problem. Imam asp.net kontrolo, ki ima browsable property, ki "odpre" v design timu editor formo (windows form). Na tej fromi bi pa rad prikazal strukturo map in datotek (css), ki jih imam kjerkoli v projektu (kot projekt pa mislim vse daoteke znotraj website - prikažem samo css). Property na kontroli bo po izbiri css-ja na editor formi hranil vrednost (string) enako ~/podmapa1/.../podmapan/*.css. Torej rabim path do mape kjer imam kompletno website kodo samo zato, da jo lahko prikažem vse mape in vse css datoteke znotraj projekta na editor (windows) fomi.Upam da bo sedaj bolj razumljivo. Lp,Matjaž 

AndrejT
AndrejT - četrtek, 08. marec 2007

Lahko še malo pojasniš situacijo? Praviš, da delaš v namizni aplikaciji (Windows Forms), želiš pa dostop do datoteke css, ki je v razvojnem imeniku tvoje spletne aplikacije? Kako sta tadva projekta sploh povezana? V istem solutionu? Dodatno vprašanje: kot vidim, gre za VS2003?

pril
pril - četrtek, 08. marec 2007

Informacijo kje so source datoteke za ustrezen dll (exe) so v VS projektu, ta pa je v direktoriju, ki ti ga je vrnil reflection objekt. Same datoteke z izvorno kodo so za samo izvajanje nepomembne (to so zgolj tekstovne datoteke) in iz njih ne more biti razvidno kje so - lahko jih tudi ni. Da boš povezal te stvari moraš imeti izvajalne datoteke nekje na istem delu drevesne strukture kot so podatkovne datoteke.Če pa vseeno želiš imeti povezane source kodo (zakaj le?) s podatkovnimi datotekami moraš prebrati datoteko za VS projekt (*.vbproj) - to je navadna xml datoteka, kjer so vpisane poti do source kode in tako (posredno) do tvojih podatkovnih datotek.lp, pl

o-MA-n-tjaz
o-MA-n-tjaz - četrtek, 08. marec 2007

Če še bolj podrobno opišem problem. Imam kontrolo na kateri bi rad v design teimu izbrav css datoteko (iz drevesne strukture v propertyeditor-ju). Drevesna struktura pa želim da naloži mape in podmape iz mojega razvojnega direktorija (mapa kjer je shranjena vsa source coda mojega projekta ne pa dll-ji). Lp,Matjaž

pril
pril - četrtek, 08. marec 2007

Ja, zato ker se tam izvaja koda - boš moral bolj natančno opisati kaj sploh imaš na d:\MojiProjekti\TestniProjekt\? Projekt (izvajalne datoteke) imaš v resnici na poti, ki ti jo je vrnil reflection objekt (tam kjer običajno predlaga visual studio pot, da začneš nov projekt), vendar - če boš želel distribuirat zadevo ali kakorkoli prenašat naokoli boš imel dll-je oz exe datoteke na istem direktorijskem drevesu kot podatke, zato bi bilo priporočljivo da si najprej sestaviš zadevo tako da bodo podatki in izvajalne datoteke vsaj približno skupaj in potem to uporabiš za to da dobiš pot do svojih podatkov.lp, pl

o-MA-n-tjaz
o-MA-n-tjaz - četrtek, 08. marec 2007

Tole System.Reflection.Assembly.GetExecutingAssembly.Location vrača:c:\Documents and Settings\User\Local Settings\Application Data\Microsoft\VisualStudio\8.0\ProjectAssemblies\xxxx\jaz pa rabim pot do mape kjer imam shranjen razvojni projekt (npr.: d:\MojiProjekti\TestniProjekt\) ne dll. Lp,Matjaž 

F34R
F34R - četrtek, 08. marec 2007

Jaz sem te narobe razumel, ti bi rad lokacijo dll-ja v času izvajanja

pril
pril - četrtek, 08. marec 2007

No ja, pri računalništvo je beseda nemogoče bolj stvar resursov (beri: časa, denarja )  namenjenih za rešitev problema. V tem primeru mislim, da je rešitev bolj enostavna. Če hočeš dobit pot za dll lahko uporabiš tale ukaz:System.Reflection.Assembly.GetExecutingAssembly.Locationče to ni stvar ki jo potrebuješ pa se še malo poigraj z reflection objektom - mislim da boš našel kar iščeš...lp, pl

F34R
F34R - četrtek, 08. marec 2007

To je nemogoče, no razen če mu ti poveš kje se nahaja ali pa uporabiš Build event

o-MA-n-tjaz
o-MA-n-tjaz - četrtek, 08. marec 2007

Ja hvala, vendar ne rabim tega.Jest razvijam en projekt in mene zanima root tega direktorija.Recimo da imam root razvoja projekta: d:\MojiProjekti\TestniProjekt\ in jest bi zdej rabu to mapo dobit, ne pa tisto, ki je na serverju, ko aplikacija laufa.Pa fora je da mam jest to v windows formi. Zdej delam en svoj design(property editor) in tm noter hočem dobit pot, kje je root mojih datotek.No men se zdi da bo zdej mal bolj jasen kaj iščem. 

F34R
F34R - četrtek, 08. marec 2007

http://west-wind.com/weblog/posts/269.aspx