Miksowanie VB.Net oraz kod C# w ASP.Net Projekt strony www?
Pytanie dość starsze i często zadawane, mam podobne pytania tutaj, ale moje pytanie jest nieco bardziej szczegółowe.
Q1. Czy legalne jest mieszanie C # i VB.Net kod w ASP.Net strona internetowa? Zadziała czy nie? Jeśli to działa, jak można to zrobić? Każda próbka będzie dobra.
Q2. Jeśli są jakieś konsekwencje mieszania C # i VB.Net kod następnie proszę udostępnić te, jak również.
Mam projekt WWW, który jest zakodowany w VB.Net. pracuję nad jednym modułem projektu. oraz chcę kodować w C#. Nie mogę przekonwertować całego projektu do C# , ponieważ nie jestem jedynym, który pracuje nad projektem. Jednak moduł, który zamierzam zbudować, chcę mieć wbudowany w C#.
Słyszałem, że w przypadku projektów internetowych, jeśli część kodu w C# i część w VB.net następnie występują problemy z kompilacją projektu do biblioteki dll. To prawda? jeśli tak, to jakie jest rozwiązanie.
Ponadto, jeśli buduję bibliotekę dynamicznych linków w. Net to czy Mogę mieszać C# i Vb.Net kod?
3 answers
Z http://msdn.microsoft.com/en-us/library/t990ks23.aspx :
Wiele języków programowania w folderze App_Code
Ponieważ kod źródłowy w folderze App_Code jest skompilowany w jeden zespół, wszystkie pliki w folderze App_Code muszą być w tym samym języku programowania. Na przykład folder App_Code nie może zawierać kodu źródłowego zarówno w Visual Basic, jak i w C#.
Możesz jednak skonfigurować swoją aplikację internetową tak, aby traktowała podfoldery folder App_Code jako oddzielne jednostki kompilowalne. Każdy folder może zawierać kod źródłowy w innym języku programowania. Konfiguracja jest określona przez utworzenie elementu codeSubDirectories w elemencie kompilacji sieci Web.plik konfiguracyjny i dodanie referencji do podfolderu. Poniższy przykład ilustruje jak skonfigurować podfoldery o nazwach VBCode i CSCode do kompilacji w osobne zespoły:
<compilation debug="false">
<codeSubDirectories>
<add directoryName="VBCode" />
<add directoryName="CSCode" />
</codeSubDirectories>
</compilation>
Odniesienia do podfolderów VBCode i CSCode nie potrzeba zamieszczenia jakichkolwiek informacji o tym, jaki język programowania jest zawarty w podfolderze. Podobnie jak w przypadku samego folderu App_Code, ASP.NET wnioskuje kompilator do użycia na podstawie plików w podfolderze.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-26 06:17:03
Odpowiedź, która ma najwięcej głosów, działa tylko na projekty stron internetowych, a nie na projekty aplikacji internetowych. Myślę, że wielu programistów używa terminu" aplikacja internetowa "ogólnie ignorując fakt, że technicznie jest to inna rzecz w .NET. Microsoft mówi:" Domyślnie aplikacja internetowa jest kompilowana w oparciu o ustawienia językowe w pliku projektu. Wyjątki mogą być dokonywane, ale jest to stosunkowo trudne."Zakładam więc, że jedynym sposobem, aby to zrobić, byłoby posiadanie dwóch oddzielnych projektów w jedno rozwiązanie. (Ponownie, Projekt strony internetowej nie ma rozwiązania lub pliku projektu.) Nie jestem pewien wszystkich szczegółów.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-04 15:10:49
Wydaje się, że możesz je mieszać w ramach tego samego projektu, wykonując fragment kodu, którego potrzebujesz jako kontrolki. Więc jeśli strona główna jest w C# i robisz część VB, którą chcesz jako kontrolę ascx, możesz drapować i upuszczać ją w swojej witrynie.
Nie zdawałem sobie sprawy, że można to zrobić, ale członek zespołu wymyślił to na kawałku pracy, którą robił.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-02 15:30:33