<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Visual Studio</title>
        <link>http://blogs.ugidotnet.org/ainotame/category/Visual Studio.aspx</link>
        <description>Visual Studio</description>
        <language>it</language>
        <copyright>Roberto Sarati</copyright>
        <generator>Subtext Version 2.6.0.0</generator>
        <item>
            <title>JsHint  - Permettere variabili globali</title>
            <link>http://blogs.ugidotnet.org/ainotame/archive/2014/12/24/jshint-permettere-variabili-globali.aspx</link>
            <description>&lt;p&gt;Senza entrare nella discussione di quale lint-tool utilizzare per il verificare la “bontà” del codice js scritto, e poichè JsHint è incluso nel plugin di VS &lt;a href="http://vswebessentials.com/"&gt;WebEssentials&lt;/a&gt;, mi sono ritrovato a faccia a faccia con il seguente messaggio:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ainotame/Windows-Live-Writer/5be5ad12b5c8_7A/image_2.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ainotame/Windows-Live-Writer/5be5ad12b5c8_7A/image_thumb.png" width="222" height="33" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Tale messaggio indica chiaramente che la variabile “_” (&lt;a href="https://lodash.com/"&gt;lodash&lt;/a&gt; nel mio caso) è usata senza che essa venga precedentemente dichiarata. Da qui il mio pensiero è stato:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Vero è che, di buona norma, occorrerebbe evitare di utilizzare variabili globali ed iniettarle tutte tramite injection, però è anche vero che ce ne sono un insieme ($, _, angular, toastr…) che sinceramente si fa “fatica” ogni volta definirle come parametro da iniettare (si, sono molto lazy).&lt;/li&gt;    &lt;li&gt;Perchè non esiste lo stesso problema con angular (anch’essa variabile globale)?&lt;/li&gt;    &lt;li&gt;E’ possibile in qualche modo nascondere questo messaggio di errore selettivamente per altre librerie?&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;La risposta è ovviamente positiva e può essere risolta nei seguenti modi:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;All’inizio di &lt;strong&gt;ogni file .js&lt;/strong&gt; che utilizza “_”, è possibile aggiungere la direttiva &lt;font color="#005000"&gt;/*global _: false*/&lt;/font&gt;, ovvero indica di non considerare “_” in quanto è definito nello scope globale&lt;/li&gt;    &lt;li&gt;Da visual studio, sotto il menù “WEB ESSENTIALS-Edit global JSHint settings” è possibile modificare le impostazioni utilizzate &lt;strong&gt;dall’utente corrente&lt;/strong&gt;:      &lt;br /&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ainotame/Windows-Live-Writer/5be5ad12b5c8_7A/image_4.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ainotame/Windows-Live-Writer/5be5ad12b5c8_7A/image_thumb_1.png" width="244" height="59" /&gt;&lt;/a&gt;      &lt;br /&gt;Il file “.jshintrc” è un file json che, tra le altre cose, definisce quali variabili sono considerate globali:      &lt;br /&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ainotame/Windows-Live-Writer/5be5ad12b5c8_7A/image_8.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ainotame/Windows-Live-Writer/5be5ad12b5c8_7A/image_thumb_3.png" width="361" height="49" /&gt;&lt;/a&gt;      &lt;br /&gt;Ecco quindi il motivo per il quale “angular” non viene mostrato di default nei messaggi di JsHint. La sezione può essere quindi arricchita in modo da aggiungere altre librerie:      &lt;br /&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ainotame/Windows-Live-Writer/5be5ad12b5c8_7A/image_10.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ainotame/Windows-Live-Writer/5be5ad12b5c8_7A/image_thumb_4.png" width="293" height="74" /&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Nel punto precedente tutto funziona perfettamente eccetto che tale setting è a livello di utente e magari “Emix” è una variabile che si vorrebbe considerare globale solo in uno specifico progetto. Per ovviare al problema è possibile creare una copia del file “.jshintrc”, aggiungerla alla solution in modo da utilizzare un set di impostazioni specifiche per il singolo progetto/solution:     &lt;br /&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ainotame/Windows-Live-Writer/5be5ad12b5c8_7A/image_12.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ainotame/Windows-Live-Writer/5be5ad12b5c8_7A/image_thumb_5.png" width="244" height="98" /&gt;&lt;/a&gt;      &lt;br /&gt;In questo modo inoltre, poichè il file è all’interno della solution, le impostazioni possono essere salvate su source control e quindi condivise tra tutti gli sviluppatori del team.&lt;/li&gt; &lt;/ol&gt;&lt;img src="http://blogs.ugidotnet.org/ainotame/aggbug/101921.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Roberto Sarati</dc:creator>
            <guid>http://blogs.ugidotnet.org/ainotame/archive/2014/12/24/jshint-permettere-variabili-globali.aspx</guid>
            <pubDate>Wed, 24 Dec 2014 01:47:32 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/ainotame/archive/2014/12/24/jshint-permettere-variabili-globali.aspx#feedback</comments>
            <slash:comments>8</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/ainotame/comments/commentRss/101921.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/ainotame/services/trackbacks/101921.aspx</trackback:ping>
        </item>
        <item>
            <title>ASP.NET AngularJS seed</title>
            <link>http://blogs.ugidotnet.org/ainotame/archive/2014/11/28/asp.net-angularjs-seed-project.aspx</link>
            <description>&lt;p&gt;Quando iniziai (un po’ di tempo fa a dire il vero) a voler provare/utilizzare AngularJS su alcuni progetti web, mi sono scontrato contro alcuni problemi tra i quali:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Non voler cambiare “troppo” le tecnologie utilizzate e conosciute dal team (asp.net, webapi, sql server… e quindi niente node, mongo, php, gruntjs…), &lt;/li&gt;    &lt;li&gt;Utilizzare Visual Studio e avere una struttura chiara della solution, &lt;/li&gt;    &lt;li&gt;Creare una SPA, e non solo il motore di binding di ng per le singole view asp.net. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Poichè ai tempi (mesi e mesi fa) non trovai un esempio/template che mi soddisfacesse appieno, in quanto:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;o veniva usato &lt;u&gt;nodejs&lt;/u&gt; e niente vs &lt;/li&gt;    &lt;li&gt;o &lt;u&gt;l’organizzazione&lt;/u&gt; dell’applicazione ng era a cura del developer &lt;/li&gt;    &lt;li&gt;o gli &lt;u&gt;script ng erano separati dalle view&lt;/u&gt; (e per me è una cosa fastidiosa dopo un paio di esperienze tra cui anche la struttura di default di durandaljs) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Ho creato un progetto su github, &lt;a title="https://github.com/sierrodc/ASP.NET-MVC-AngularJs-Seed" href="https://github.com/sierrodc/ASP.NET-MVC-AngularJs-Seed"&gt;https://github.com/sierrodc/ASP.NET-MVC-AngularJs-Seed&lt;/a&gt;, dove:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;viene utilizzato nuget solo per le libraries .net; ho scelto di non usarlo per i package js perchè altrimenti non avrei potuto organizzarli come segue      &lt;br /&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ainotame/Windows-Live-Writer/ASP.NET-Angular-seed-project_1510F/image_4.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ainotame/Windows-Live-Writer/ASP.NET-Angular-seed-project_1510F/image_thumb_1.png" width="189" height="244" /&gt;&lt;/a&gt;       &lt;br /&gt;ovvero una sorta di struttura a strati con le librerie senza dipendenze in Ring0, e con Ring(N) dipendente da Ring(N-1)       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;è configurato angularjs e una semplice SPA con alcune features con la seguente struttura:      &lt;br /&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ainotame/Windows-Live-Writer/ASP.NET-Angular-seed-project_1510F/image_6.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ainotame/Windows-Live-Writer/ASP.NET-Angular-seed-project_1510F/image_thumb_2.png" width="244" height="232" /&gt;&lt;/a&gt;  &lt;br /&gt;dove:       &lt;ol&gt;       &lt;li&gt;emixApp.js definisce l’applicazione angularjs, impostando tutte le dipendenze e le regole di routing (forse lo estrarrò da qui), &lt;/li&gt;        &lt;li&gt;la cartella directives contiene tutte le directive custom, &lt;/li&gt;        &lt;li&gt;la cartella services contiene i servizi angular, in questo caso solo un proxy alle chiamate verso webapi &lt;/li&gt;        &lt;li&gt;la cartella pages che contiene le pagine che costituiscono la SPA, ogni pagina definita tramite coppia #pagina.html, pagina.js#          &lt;br /&gt;&lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt;    &lt;li&gt;tutte le librerie che ritengo utili (anche per una demo veloce) sono già incluse, configurate e utilizzabili;     &lt;br /&gt;Per una lista completa di librerie incluse faccio riferimento al file readme.md presente su repository (cercherò ti mantenerle il più possibile aggiornate). &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;E dopo questa condivisione, ogni domanda, suggerimento  o critica è ben accetta.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/ainotame/aggbug/101907.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Roberto Sarati</dc:creator>
            <guid>http://blogs.ugidotnet.org/ainotame/archive/2014/11/28/asp.net-angularjs-seed-project.aspx</guid>
            <pubDate>Fri, 28 Nov 2014 01:38:12 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/ainotame/archive/2014/11/28/asp.net-angularjs-seed-project.aspx#feedback</comments>
            <slash:comments>23</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/ainotame/comments/commentRss/101907.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/ainotame/services/trackbacks/101907.aspx</trackback:ping>
        </item>
        <item>
            <title>Microsoft news</title>
            <link>http://blogs.ugidotnet.org/ainotame/archive/2014/11/13/microsoft-news.aspx</link>
            <description>&lt;p&gt;La giornata di oggi è stata particolarmente ricca di news per noi sviluppatori:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;E’ disponibile l’&lt;strong&gt;update 4 di Visual Studio 2013&lt;/strong&gt; (non ancora segnalato in VS2013 ma scaricabile qui &lt;a href="http://go.microsoft.com/fwlink/?LinkId=510314"&gt;Download Visual Studio 2013 Update 4 (2013.4) RTM&lt;/a&gt;)      &lt;br /&gt;La lista delle novità e delle correzioni è disponibile alla seguente pagina: &lt;a title="http://www.visualstudio.com/news/vs2013-update4-rtm-vs" href="http://www.visualstudio.com/news/vs2013-update4-rtm-vs"&gt;http://www.visualstudio.com/news/vs2013-update4-rtm-vs&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;E’ stata rilasciata una nuova edizione di VS ovvero la &lt;strong&gt;Visual Studio 2013 Community&lt;/strong&gt;, che include gli ultimi updates, e che supporta sviluppo web, cloud, mobile, Kinect, Unity… permettendo inoltre di installare estensioni. Un cambio di rotta rispetto all’ultima tornata di VS express frammentato in più versioni e con estensioni bloccate.      &lt;br /&gt;Interessante notare la seguente frase presente su sito microsoft:      &lt;br /&gt;&lt;em&gt;”For all other usage scenarios: In non-enterprise organizations, up to 5 users can use Visual Studio Community. In enterprise organizations (meaning those with &amp;gt;250 PCs or &amp;gt; $1MM in annual revenue), no use is permitted beyond the open source, academic research, and classroom learning environment scenarios described above”       &lt;br /&gt;&lt;/em&gt;Questo significa che in piccole aziende è possibile utilizzare VS Community senza oneri anche per fini commerciali (&lt;em&gt;correggetemi se sbaglio&lt;/em&gt;).&lt;/li&gt;    &lt;li&gt;Disponibile &lt;strong&gt;Visual Studio 2015 preview&lt;/strong&gt; (&lt;a title="http://www.visualstudio.com/news/vs2015-preview-vs#Net" href="http://www.visualstudio.com/news/vs2015-preview-vs#Net"&gt;http://www.visualstudio.com/news/vs2015-preview-vs#Net&lt;/a&gt;) con EF7, Rosylin, .net4.6, asp.net 5 e chi più ne ha più ne metta&lt;/li&gt;    &lt;li&gt;L’apertura sempre più consistente da parte di Microsoft verso il &lt;strong&gt;mondo opensource e sistemi “non-windows”&lt;/strong&gt;:&lt;/li&gt;    &lt;ol&gt;     &lt;li&gt;sono stati rilasciati parti importanti di .net framework su github (&lt;a title="http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx" href="http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx"&gt;http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx&lt;/a&gt;)&lt;/li&gt;      &lt;li&gt;si è (forse) presa consapevolezza di ciò che molti avrebbero voluto da .NET, ovvero la multipiattaforma (forse dovuto anche al successo di Xamarin [che tra parentesi, tra le altre cose, prevede di aggiungere il supporto a VS anche nella versione free]). ScottGu ha infatti annunciato la volontà di rilasciare una versione ufficiale e supportata di .net core per linux e osx (&lt;a title="http://weblogs.asp.net/scottgu/announcing-open-source-of-net-core-framework-net-core-distribution-for-linux-osx-and-free-visual-studio-community-edition" href="http://weblogs.asp.net/scottgu/announcing-open-source-of-net-core-framework-net-core-distribution-for-linux-osx-and-free-visual-studio-community-edition"&gt;http://weblogs.asp.net/scottgu/announcing-open-source-of-net-core-framework-net-core-distribution-for-linux-osx-and-free-visual-studio-community-edition&lt;/a&gt;)&lt;/li&gt;   &lt;/ol&gt; &lt;/ol&gt;  &lt;p&gt;Che dire… senza parole.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/ainotame/aggbug/101901.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Roberto Sarati</dc:creator>
            <guid>http://blogs.ugidotnet.org/ainotame/archive/2014/11/13/microsoft-news.aspx</guid>
            <pubDate>Thu, 13 Nov 2014 03:22:07 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/ainotame/archive/2014/11/13/microsoft-news.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/ainotame/comments/commentRss/101901.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/ainotame/services/trackbacks/101901.aspx</trackback:ping>
        </item>
        <item>
            <title>Upgrade progetto MVC4 a MVC5 in VS2012</title>
            <link>http://blogs.ugidotnet.org/ainotame/archive/2013/11/20/upgrade-progetto-mvc4-a-mvc5-in-vs2012.aspx</link>
            <description>&lt;p&gt;Se avete un progetto ASP.NET MVC4 in VS2012 e, ingenuamente, credete che basti aggiornare i pacchetti nuget per passare alla nuova versione di MVC5 beh, siete leggermente fuori strada.&lt;/p&gt;  &lt;p&gt;In primis occorre modificare opportunamente i web.config e il file csproj come spiegato in questo articolo:   &lt;br /&gt;&lt;a href="http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2"&gt;http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Dopo tali modifiche tuttavia vi renderete conto di non aver più intellisense nelle pagine razor.   &lt;br /&gt;Per riaverlo è necessario installare ASP.NET and Web Tools 2013.1 for Visual Studio 2012:    &lt;br /&gt; &lt;a href="http://blogs.msdn.com/b/webdev/archive/2013/11/18/announcing-release-of-asp-net-and-web-tools-2013-1-for-visual-studio-2012.aspx"&gt;http://blogs.msdn.com/b/webdev/archive/2013/11/18/announcing-release-of-asp-net-and-web-tools-2013-1-for-visual-studio-2012.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Oppure rimane valido il passaggio a VS2013 :)&lt;/p&gt;  &lt;p&gt;Buon ASP.NET MVC5 a tutti.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/ainotame/aggbug/101727.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Roberto Sarati</dc:creator>
            <guid>http://blogs.ugidotnet.org/ainotame/archive/2013/11/20/upgrade-progetto-mvc4-a-mvc5-in-vs2012.aspx</guid>
            <pubDate>Wed, 20 Nov 2013 22:42:24 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/ainotame/archive/2013/11/20/upgrade-progetto-mvc4-a-mvc5-in-vs2012.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/ainotame/comments/commentRss/101727.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/ainotame/services/trackbacks/101727.aspx</trackback:ping>
        </item>
    </channel>
</rss>