Avatar billede nielsenmathias Nybegynder
14. december 2006 - 10:27 Der er 12 kommentarer og
1 løsning

API generation i MS Visual Studio?

Hejsa.

Jeg er mest kendt med Java under Eclipse, og her er det meget nemt at generere an API over ens system ala Java API. Dette kaldes JavaDoc.

Er samme funktionalitet til stede i Visual Studio?

På forhånd tak

/Mathias
Avatar billede spif2001 Nybegynder
14. december 2006 - 11:14 #1
Jeg går ud fra du mener autogenerering af dokumentation ud fra kommentarer i koden?

Jeg har faktisk ikke fået kigget så meget på det til .Net 2.0, for den er blevet fjernet i fra Visual Studio 2005. Der var XmlDocumentation til Visual Studio 2003 / .Net 1.1, men af en eller anden grund blev det nedlagt :(

Der findes et open source project ved navn NDOC: http://ndoc.sourceforge.net/

...men jeg tror de er gået i stå med deres .Net 2.0 version :(
Avatar billede md_craig Nybegynder
14. december 2006 - 11:22 #2
Ja... delvist... dvs. at du skal bruge et externt program også... da VS laver hele din dokumentation i XML, (så virker det også pluselig med din intellisence i VS...
og personligt syntes jeg faktisk det er nemmere, i det mindste at komme i gang med... og endelig bedre integreret...

Hvad du skal gøre er at slå XML dokumentations output til under Project proterties... (Ligger under Build)...

og så skal du hente en af følgende:
- NDoc: http://ndoc.sourceforge.net/
- Sandcastle: http://blogs.msdn.com/sandcastle/default.aspx

Dukumentation foregår nemt ved at sætte /// fx over en metode...
Så gennerere den lige de indledende, ønsker du flere ting i din dukumentation end det den lige giver dig.... så laver du en linie mere og så er mange af de parametre du kan benytte faktisk lagt ind i VS så det virker med intelisence også...

Når du har dokumenteret din kode i den omfang du ønsker compiler du... og så har du ved siden af din DLL/EXE en xml fil med tilsvarende navn (undtagen filtypen ofc)...

Inde fra NDOC eller Sandcasle vælger du nu in dll/exe i et nyt projekt... referer eventuelle dll'er som du dit projekt benytte der ikke er en del af GAC'en...

Og Compiler... det er i store træk det..
Avatar billede md_craig Nybegynder
14. december 2006 - 11:26 #3
Og som spif siger, så er NDoc egentlig kun til ver. 1.1 og ned... men med en lille linie i en lille fil virker den også til .NET 2.0... (dog er der vist et par fåting der ikke lige er med, men har ikke selv stødt på de problemer)...

Ellers er der Sandcastle... det er et udspil fra Microsoft selv, som stadig pt er i Beta... men den virker fint... Sandcastle er desuden grunden til NDoc ikke er kommet videre...
Avatar billede md_craig Nybegynder
14. december 2006 - 11:40 #4
Og lige en sidste ting...

der hvor jeg siger du skal slå det til (Project properties -> Build)... det er under VS 2005 og .NET 2.0... jeg kan virkelig ikke lige huske hvor den ligger under VS2003... Det kan Spif nok fortælle os :P...
Avatar billede spif2001 Nybegynder
14. december 2006 - 11:41 #5
@md craig
Cool - kendte ikke Sandcastle - må jeg lige se hvad duer til ;)
Er der nogen speciel grund til, at Sandcastle (eller dens funktionalitet) ikke er indlejret i VS 2005?
Avatar billede spif2001 Nybegynder
14. december 2006 - 11:44 #6
mht. dokumentation i VS 2003, så er det bare Tools -> Build Comment Web Pages
Avatar billede md_craig Nybegynder
14. december 2006 - 12:53 #7
Personligt har jeg altid brugt NDoc, og bruger i dag lidt en blanding (Sandcastle har endnu ikke fået det hele med fra NDoc)... så jeg har latid bygget mine API'er externt alligevel... så har ikke følt et synderligt behov...

Men i teorien burde man kunne lave et plugin til VS 2005 om ikke andet... og så bruge det API Sandcastle byder på (burde man i teorien også kunne med NDoc)... så hvis man føler sig MEGET generet af at skulle starte en app mere op... jamen så må man jo gå i gang :P...

Men en af grundede er måske at sandcastle er beta endnu, desuden mener jeg den bliver til fri afbenyttelse, derfor vil et selvstående API samt applikation nok være hovedfocus for nu...
Men det er da måske ikke utænkeligt at den i fremtiden igen bliver en del af VS, enten som et Help File Project (altså ligsom man laver setup projekter og andre ting)... eller på en anden måde...

Men det sker hvertfald nok ikke før den er i en første release
Avatar billede nielsenmathias Nybegynder
14. december 2006 - 14:56 #8
tak for alle svarene! :)
nu har jeg installeret sandcastle.

md_craig. Du siger "inde fra NDOC eller Sandcasle vælger du nu... "
Sandcastle laver ingen genveje eller lignedende. Hvordan kommer jeg "ind"?
Undskylder på forhånd hvis det er et dumt spørgsmål
Avatar billede md_craig Nybegynder
14. december 2006 - 15:19 #9
How.... argh... det er da lige en detalje.. :P... du skal også nok lige have fat i en Gui ja ^^... Sandcastle er jo i sig selv bare et API... se det er den slags jeg totalt sveder ud når først det kører...

Jeg bruger selv en NDoc Style Gui fra:
http://www.codeplex.com/Wiki/View.aspx?ProjectName=SHFB

Og der er andre der ude...
En anden ting... det kan godt være du skal til at hente en chm compiler også, (hvis du altså øsnker at lave det til hjælp filer)... men et skridt af gangen...
Avatar billede nielsenmathias Nybegynder
14. december 2006 - 15:55 #10
hehe ok :)
det ser fint ud og virker kanon (selvom det tager en rum tid :)!

er der nogen måde hvorpå man kan få resultatet ud i en dokumentfil snarere end i en help viewer? jeg skal bruge det til dokumentation
Avatar billede nielsenmathias Nybegynder
14. december 2006 - 15:58 #11
Skal man partout bruge // som kommentartsyntaks. Hvad med /* */. Det ser den ikke ud til at kunne lide?
Avatar billede md_craig Nybegynder
14. december 2006 - 17:52 #12
// virker heller ikke...

men /// gør (3x)...

Desuden har jeg læst et sted at

/**
*
*/

Også skulle virke (altså 2x*)...

Det er sådan set godt nok tænkt af dem, for så er det en rum lættere for os (og dem) at skældne mellem hvad der er dokumentation og hvad der er alm. kommentarer... (Vi ønsker jo ikke at medtage "//A Temporary Variable to store the returning table" med dokumentationen)...
Avatar billede nielsenmathias Nybegynder
14. december 2006 - 19:12 #13
Nej det kan du have ret i :)

Tusind tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester