Soy programador PHP/MYSQL y me encaargaron una aplicación en ASP.NET de facturación para una bicicleteria y quería saber si funciona perfectamente para escritorio con base de datos mysql utilizando el lenguaje Visual basic o C#.
En primer lugar deberías conocer el verdadero significado de .NET .NET es un framework o un entorno de trabajo, bajo el cual puedes programar en distintos lenguajes. Una aplicación ASP.NET siempre se ejecuta en un servidor web, es decir al hablar de ASP.NET hablamos de aplicaciones web desarrolladas bajo el framework .NET En .NET puedes programar aplicaciones de escritorio. El framework .NET ofrece probablemente la API más completa para desarrollar aplicaciones de escritorio para Windows. En respuesta a tu pregunta, si que puedes desarrollar una aplicación de escritorio en .NET con base de datos MySQL. Podrás utilizar cualquier compilador para .NET, no solo en Visual Basic o C#, sino muchos otros (por ejemplo Mono, que es un compilador de delphi para .NET). Como tu aplicación de escritorio se ejecutará en la máquina del cliente, junto con ella tendrás que instalar el paquete redistribuible del framework .NET .NET es un entorno de programación orientado a objetos. Lo que escribas en .NET lo podrás reutilizar para otros proyectos o aplicaciones. Por ejemplo, si abstraes bien las clases que desarrolles para acceder a la base de datos, tendrás gran parte del trabajo hecho si quieres migrar tu aplicación de escritorio a una aplicación Web ASP.NET, y viceversa. Si tu experiencia anterior proviene de PHP, para aventurarte en .NET convendrá entonces que estés familiarizado con la programación orientada a objetos, algo que en PHP no se introdujo hasta la versión 5 (creo).