Un proiect asp.net poate fi scris in diverse limbaje suportate de framework. Eu folosesc c# si vb.net (cel putin in proiectele mai vechi). In fiecare proiect am un folder App_Code unde pun tot ce e “business logic” simplu – adica tot ce nu consider ca ar trebui inclus intr-un dll de sine statator. Din pacate nu ma prea inteleg eu cu vb.Net – ma enerveaza sintaxa si de fiecare data scriu cu greseli (de sintaxa) respectivul cod. Din cauza asta trebuie sa pierd mult mai mult timp decat as pierde daca as folosi c# (unde nu am asemenea greseli).
Sunt unele proiecte vechi, pe care nu imi permit sa le refuz (de, banii vorbesc) scrise in vb.Net si pe care trebuie sa le intretin/competez. Intr-un proiect de tip asp.net pot adauga o pagina noua care sa aiba codebehind in c# (chiar daca restul paginilor sunt in vb). Ceea ce nu pot este sa adaog in App_code, daca respectivul folder contine fisiere vb, fisiere cs – primesc erroare in momentul compilarii, ceva de genul Error 172 The files ‘/App_Code/Class1.vb’ and ‘/App_Code/xxxxx.cs’ use a different language, which is not allowed since they need to be compiled together..
In urma cu cateva zile am vazut ca exista o metoda de a folosi in cadrul aceluiasi proiect, in app_code atat c# cat si vb.net, ceea ce imi va permite sa pot folosi c# – in care scriu mai repede si mai eficient – pentru a continua diverse proiecte scrise in vb.net.
Pentru a putea folosi fisiere cs in proiect trebuie modificat putin fisierul web.config:
<configuration> <system.web> <compilation> <codeSubDirectories> <add directoryName="App_Code\vb_Code"/> <add directoryName="App_Code\cs_Code"/> </codeSubDirectories> </compilation> </system.web> </configuration>
Voi crea 2 foldere App_Code\vb_Code, respectiv App_Code\cs_Code. Tot ce este acum in App_Code, scris in vb.net mut in App_Code\vb_Code iar noile fisiere cs le voi adauga in App_Code\cs_Code.
Din acest moment voi putea sa scriu cod in ce limbaj vreau, fara sa mai ma intereseze care era limbajul original in care a fost inceput proiectul.