Sobre..

Foto

Soy un ingeniero en informática recibido a finales de 2013.

Actualmente me desempeño como líder de desarrollo de aplicaciones ASP.NET MVC, además de estar cursando una Especialización en Ingeniería Web. Mi objetivo es seguir aprendiendo sobre distintas tecnologías Microsoft como ASP.NET MVC, Azure y Xamarin.

6 comentarios en “Sobre..

  1. Hola Diego:

    Tengo un problema espero que puedas ayudarme a encontrar la solución.

    Instale el visual studio 2015 Professional Edition, (en español). y quiero empezar con un proyecto usando AngularJS.

    En primer lugar, al crear la solucion use el esquema ASP.NET 5 (que usan elementos server-side y client-side que incluso vienen elementos Angular como: controlador, directiva, modulo, etc), use este esquema porque obviamente deseo usar Angular para mi proyecto. El esquema ASP.NET 4.5 que viene con VS2015 no viene los elementos server-side y client-side, sino viene como los esquemas antiguos (elementos sueltos) que se puede usar (lo he usado buscando mi solucion) pero que como el esquema ASP.NET5 vienen estos elementos opte por probarlo.

    En segundo lugar, realice la instalacion de las referencias, usando NuGet, ahora luego de instalar el angular completo (angularjs version 1.4.8, ultima version) veo que existen la referencia, pero NO veo que exista en la carpeta “lib” los archivos angular js (angular.js, angular.min.js, etc) por ende tampoco tengo el intellisense que se supone deberia funcionar si uso la referencia angular.

    En el archivo _reference.js, al darle automatico las referencias javascript obviamente no aparecen los archivos angular (por mas que está en las referencias dll del proyecto).

    He leido cientos de paginas, me dicen colocar a mano las referencias, he usado esquema ASP.NET 4.5 tambien, usando o no plantillas MVC, incluso usando VS2013 para ver si habia algo que estaba mal, he usado los elementos angular que viene en VS2015 (client-side), he visto videos, todo….. PERO NADA!!!

    En conclusion, instalo por Nuget todo lo que es AngularJS, pero no veo los archivos angular.js, por ello no tengo el intellisense que para mi es basico tenerlo porque con esta nueva tecnologia se me es indispensable tenerlo.

    Todo esto lo detecte por que no tenia el intellisense, y me di cuenta de todo lo arriba mencionado.

    Agradezco tu atencion, si no me explique bien me dices que intento volver a explicartelo. Llevo dias buscando la solucion al intellisense y a las referencias pero nada, espero que con tu experiencia me puedas ayudar a encontrar una solucion.

    Un abrazo,

    Cesar Yenque

    Me gusta

    • Hola Cesar, cómo estás?
      Antes que nada gracias por pasar por el blog. Te comento que estuve haciendo pruebas para lograr lo que me comentas y he podido lograrlo con ASP.NET 5.

      Lo primero es buscar el archivo bower.json que se encuentra en la raíz del proyecto web. Allí tendrás el elemento “dependencies”, donde por ejemplo está bootstrap y jquery. Allí deberás agregar un elemento más de la siguiente forma:
      “angular”: “1.4.8”

      Al guardar el archivo vas a Dependencies > Bower dentro del proyecto web y verás que aparece el elemento angular en modo de instalación, y luego de un rato te aparecerá con el número de versión al costado indicando la correcta instalación.

      Para validar, podrás validar que en wwwroot > lib está la carpeta de angular con todos los archivos necesarios.

      Espero tus comentarios de si te ha servido, sino me avisas y lo seguimos intentando de otra forma.

      Abrazo!

      Me gusta

      • Hola Diego:

        Gracias por la respuesta, un gusto que puedas ayudarme.

        Te comento que probé tu respuesta, y efectivamente aparecen en la carpeta “lib” las referencias de angular (hice paso por paso lo que propones) pero aun no aparece el “bendito intellisense” en mi proyecto.

        Investigando un poco, el tema del intellisense pasa por la referencia que se debe de tener en el archivo _reference.js (ubicado en wwwroot), el cual NO se actualiza (por mas que esta en modo automatico) y si lo hago por la opción “Update Javascript Reference” tampoco hace referencia a esta nueva carpeta (lib/angular), lo único que queda es hacerlo manualmente (/// ).

        Con esto, aparece el “bendito intellisense” de angular.

        Ahora, si bien es cierto existen en NuGet instalaciones de las partes de Angular (Core, Mocks, Route, etc); el instalador “angularjs” (sin referenciar a core, etc, solo) viene todo completo (todos los scripts), cosa que me di cuenta al revisar el tema, y te comento esto porque antes de ver tu respuesta, y luego de seguir investigando el tema, instale solo el Core, Mocks y Route, luego cree la carpeta Scripts (que no viene por default) y dentro cree una carpeta angular, ahi copie los js de angular (core, mocks y route). Luego, fui al archivo _reference.js (ubicado en wwwrooot) y ahí si, automáticamente!!! aparece la referencia a esta carpeta Scripts y todo el contenido (anguarjs.core, mocks y route, antes creados). Y por ende, el “bendito intellisense” apareció!!!!

        Lo que me queda una duda, es importante tener las referencias en la carpeta “lib” (wwwroot) o tener los scripts (en la carpeta Scripts) en el proyecto, que es lo correcto?? la consulta pasa porque cuando se pase a producción mi aplicativo web no sufra en referencias.

        Estoy muy agradecido de tu atención y tu respuesta, agradezco de antemano todo tu tiempo, aprovecho en pedirte si tuvieras links de angular con aspnet, links de libros, links de blogs como los tuyos que son tan importantes para los que estamos buscando respuestas exactas a problemas que valen la pena leer, agradecería mucho la información que me brindes.

        Por lo tanto sigo desarrollando con Angular + AspNet 5, espero si tuviera alguna otra duda contar con tu apoyo, claro está, agotando toda mi investigación para que la solución se de de manera eficiente.

        Un abrazo,
        Cesar Yenque

        Me gusta

        • Buenas Cesar.
          La verdad que cuando me puse a analizar las alternativas olvidé por completo la parte del intellisense, que era tu objetivo final. Disculpas por eso.

          Por la estructura de las carpetas, ten en cuenta que ahora cambia con respecto a lo que estábamos acostumbrados con anterioridad. La carpeta Scripts como la conocíamos no existe, ahora tenemos lib dentro de wwwroot, la cual tendrá una carpeta por librería con todos los archivos necesarios. Puedes ver el ejemplo de la utilización de estos recursos en la vista _Layout.

          Sobre AngularJs en sí, la verdad es que no tengo mucha experiencia de uso, ni tampoco demasiados recursos que te puedan ser de ayuda. Si quieres algo de contenido inicial, te puedo recomendar el siguiente ebook: https://www.syncfusion.com/resources/techportal/details/ebooks/angularjs
          No lo he leído, pero si otros del mismo sitio y son interesantes para tener una guía inicial.

          No dudes en consultarme sobre cualquier tema donde pueda aportar alguna ayuda u opinión.

          Saludos!

          Me gusta

  2. Hola Diego:

    Una vez mas gracias por tus comentarios, te comento que sigo investigando el tema, ya que no quiero retroceder en irme a asp.net 4.5, creo que los nuevos cambios hay que afrontarlos y seguir investigando :).

    Ahora paso por problemas de interpretación de los archivos angular, ya que como bien comentas, todos los scripts deben ir dentro de wwwroot, en desarrollo puedes referenciar tus js con las vistas sin problemas, pero cuando ejecutas (play en iissexpress) y los scripts que no están dentro de wwwroot, simplemente no existen y por lo tanto el proyecto cae por referencias :(.

    Ahora entendiendo la lógica de asp.net 5, en wwwroot (como bien lo comentas) debería ir todo lo referente a client-side, claro no tanto a las vistas (o partes de mvc) pero si las librerías, css, js, etc para poder utilizarlo y referenciarlo.

    Conociendo eso, surgen las dudas, Que tanto se debería entonces “publicar” en wwwroot?? cuan seguro es agregar los módulos, controladores, factory y directivas angular (sabemos que son javascript)??.

    He estado investigando sobre usar Grunt.js, que permite la publicación al wwwroot, pero en mi proyecto(que aun no tengo mas de un simple login), lo que hace es copiar de mi carpeta app\app.js al wwwroot\app\app.js, que viendo bien el escenario podría copiar el contenido y listo, sin tener que pasar por la configuración del Grunt (que es un poco engorrosa ya que hay que referenciar cada archivo angular para que lo pueda copiar al wwwroot, al menos hasta ahí voy, buscare si existe un método que copie toda la carpeta, si alguien lo sabe seria excelente).

    Seguiré investigando al respecto, una vez mas gracias por tus comentarios y por el link del libro que esta interesante. Seguiré viendo el tema de las referencias que asp.net 5 trae, si se algo mas te lo comento para compartir la información.

    Un abrazo,
    Cesar

    Me gusta

    • Buenas Cesar. Disculpa por la demora, he estado varios días fuera.
      Con respecto a lo que comentas sobre las referencias, entiendo que no este nuevo enfoque todas las mismas deben estar sobre el wwwroot, que es como se propone al crear un proyecto con el template por default en Visual Studio.
      Poniendo como ejemplo la ruta ~/js/site.js, la misma se resolverá en wwwroot/js/site.js

      A lo sumo debes estructurar tu wwwroot para lograr la separación de los distintos tipos de recursos que necesita tu aplicación, pero termina siendo muy similar a lo que ocurre con las versiones anteriores de ASP.NET. Solo que tienes una separación mucho mayor, dejándolo a mi criterio mucho más organizado.

      Prueba organizando todos tus scripts bajo wwwroot teniendo en cuenta ese jemplo que presenté antes, y espero tus comentarios.

      Abrazo!

      Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s