<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>Francesco Geri</title>
        <link>http://blogs.ugidotnet.org/franx_blog/Default.aspx</link>
        <description>Il blog di Francesco Geri</description>
        <language>it-IT</language>
        <copyright>Francesco Geri</copyright>
        <managingEditor>fgeri@itconsult.it</managingEditor>
        <generator>Subtext Version 1.9.5.176</generator>
        <image>
            <title>Francesco Geri</title>
            <url>http://blogs.ugidotnet.org/images/RSS2Image.gif</url>
            <link>http://blogs.ugidotnet.org/franx_blog/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Nel meraviglioso mondo di SharePoint!</title>
            <category>.Net</category>
            <category>MOSS07</category>
            <category>Tips</category>
            <link>http://blogs.ugidotnet.org/franx_blog/archive/2008/07/02/93271.aspx</link>
            <description>&lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Problema&lt;/font&gt;&lt;/strong&gt;:&lt;/p&gt;  &lt;p&gt;Se da codice imposto una proprietà di tipo data+ora di un documento contenuto in una Document Library di SharePoint mi ritrovo un valore diverso da quallo impostato. In particolare ho uno sfasamento di un'ora o due.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#008080"&gt;Soluzione&lt;/font&gt;&lt;/strong&gt;:&lt;/p&gt;  &lt;p&gt;Certo, direte voi, devi usare le date in &lt;a href="http://www.iso.org/iso/support/faqs/faqs_widely_used_standards/widely_used_standards_other/date_and_time_format.htm" target="_blank"&gt;formato UTC&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Allora vediamo coda succede in 2 casi, cioè se il file esiste e modifico la sua proprietà, oppure se il file è creato nuovo e la proprietà assegnata all'upload.&lt;/p&gt;  &lt;p&gt;L'esempio suppone che:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;ci sia un documento all'url &lt;em&gt;&lt;font color="#0080ff"&gt;http://myServer/mySite/myDocLib&lt;/font&gt;&lt;/em&gt; &lt;/li&gt;    &lt;li&gt;la document library che contiene quel documento abbia una proprietà di nome &lt;em&gt;&lt;font color="#0080ff"&gt;myDateTimeProp&lt;/font&gt;&lt;/em&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Il codice di esempio (inserito in un qualche button click) esegue l'update della proprietà del documento esistente, poi crea un nuovo documento (con il contenuto del precedente) assegnandogli un certo valore della proprietà di tipo Data.&lt;/p&gt;  &lt;p&gt;Si noti che nel primo caso (update) si deve usare la data nel suo formato normale, nel secondo la si deve convertire in formato UTC.&lt;/p&gt;  &lt;p&gt;Ogni altra combinazione non sembra funzionare.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt; &lt;!--
{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Consolas;}}{\colortbl;??\red0\green0\blue255;\red255\green255\blue255;\red0\green0\blue0;\red0\green128\blue0;\red163\green21\blue21;}??\fs22 \cf1 Private\cf0  \cf1 Sub\cf0  Button2_Click(\cf1 ByVal\cf0  sender \cf1 As\cf0  System.Object, \cf1 ByVal\cf0  e \cf1 As\cf0  System.EventArgs) \cf1 Handles\cf0  Button2.Click\par ??\tab \tab \cf4 ' Esegue l'update della data:\par ??\cf0 \tab \tab \cf1 Dim\cf0  urlDoc \cf1 As\cf0  \cf1 String\cf0  = \cf5 "http://win2k3-moss07-f/josh/TestProps/AD00000049.tif"\par ??\cf0 \tab \tab \cf1 Dim\cf0  objSite \cf1 As\cf0  SPSite = \cf1 Nothing\par ??\cf0 \tab \tab \cf1 Dim\cf0  objWeb \cf1 As\cf0  SPWeb = \cf1 Nothing\par ??\cf0 \tab \tab \cf1 Try\par ??\cf0 \tab \tab \tab \cf1 Me\cf0 .Cursor = Cursors.WaitCursor\par ??\tab \tab \tab \cf4 ' Crea gli oggetti SPSite ed SPWeb \par ??\cf0 \tab \tab \tab objSite = \cf1 New\cf0  SPSite(urlDoc)\par ??\tab \tab \tab objWeb = objSite.OpenWeb\par ??\tab \tab \tab \cf4 '' Cerca la document library\par ??\cf0 \tab \tab \tab \cf1 Dim\cf0  objItem \cf1 As\cf0  SPListItem = objWeb.GetListItem(urlDoc)\par ??\tab \tab \tab objItem.Item(\cf5 "DataeOra"\cf0 ) = Now.ToUniversalTime\par ??\tab \tab \tab objItem.Update()\par ??\tab \tab \tab \cf1 Dim\cf0  s \cf1 As\cf0  IO.Stream = objItem.File.OpenBinaryStream()\par ??\tab \tab \tab \cf1 Dim\cf0  props \cf1 As\cf0  \cf1 New\cf0  Hashtable\par ??\tab \tab \tab props.Add(\cf5 "DataeOra"\cf0 , Now)\par ??\tab \tab \tab objItem.File.ParentFolder.Files.Add(\cf5 "test.tif"\cf0 , s, props)\par ??\tab \tab \cf1 Catch\cf0  ex \cf1 As\cf0  Exception\par ??\tab \tab \tab MessageBox.Show(ex.ToString)\par ??\tab \tab \cf1 Finally\par ??\cf0 \tab \tab \tab \cf1 If\cf0  \cf1 Not\cf0  objSite \cf1 Is\cf0  \cf1 Nothing\cf0  \cf1 Then\cf0  objSite.Dispose()\par ??\tab \tab \tab \cf1 If\cf0  \cf1 Not\cf0  objWeb \cf1 Is\cf0  \cf1 Nothing\cf0  \cf1 Then\cf0  objWeb.Dispose()\par ??\tab \tab \tab \cf1 Me\cf0 .Cursor = Cursors.Default\par ??\tab \tab \cf1 End\cf0  \cf1 Try\par ??\cf0 \tab \cf1 End\cf0  \cf1 Sub}
--&gt;  &lt;div style="font-size: 11pt; background: white; color: black; font-family: consolas"&gt;   &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;    1&lt;/span&gt; &lt;span style="color: blue"&gt;Private&lt;/span&gt; &lt;span style="color: blue"&gt;Sub&lt;/span&gt; Button1_Click(&lt;span style="color: blue"&gt;ByVal&lt;/span&gt; sender &lt;span style="color: blue"&gt;As&lt;/span&gt; System.Object, &lt;span style="color: blue"&gt;ByVal&lt;/span&gt; e &lt;span style="color: blue"&gt;As&lt;/span&gt; System.EventArgs) &lt;span style="color: blue"&gt;Handles&lt;/span&gt; Button1.Click&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;    2&lt;/span&gt;     &lt;span style="color: green"&gt;' Esegue l'update della data:&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;    3&lt;/span&gt;     &lt;span style="color: blue"&gt;Dim&lt;/span&gt; urlDoc &lt;span style="color: blue"&gt;As&lt;/span&gt; &lt;span style="color: blue"&gt;String&lt;/span&gt; = &lt;span style="color: #a31515"&gt;"http://myServer/mySite/myDocLib/myDoc1.tif"&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;    4&lt;/span&gt;     &lt;span style="color: blue"&gt;Dim&lt;/span&gt; objSite &lt;span style="color: blue"&gt;As&lt;/span&gt; SPSite = &lt;span style="color: blue"&gt;Nothing&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;    5&lt;/span&gt;     &lt;span style="color: blue"&gt;Dim&lt;/span&gt; objWeb &lt;span style="color: blue"&gt;As&lt;/span&gt; SPWeb = &lt;span style="color: blue"&gt;Nothing&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;    6&lt;/span&gt;     &lt;span style="color: blue"&gt;Try&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;    7&lt;/span&gt;       &lt;span style="color: blue"&gt;Me&lt;/span&gt;.Cursor = Cursors.WaitCursor&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;    8&lt;/span&gt;       &lt;span style="color: green"&gt;' Crea gli oggetti SPSite ed SPWeb &lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;    9&lt;/span&gt;       objSite = &lt;span style="color: blue"&gt;New&lt;/span&gt; SPSite(urlDoc)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   10&lt;/span&gt;       objWeb = objSite.OpenWeb&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   11&lt;/span&gt;       &lt;span style="color: green"&gt;'' Cerca la document library&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   12&lt;/span&gt;       &lt;span style="color: blue"&gt;Dim&lt;/span&gt; objItem &lt;span style="color: blue"&gt;As&lt;/span&gt; SPListItem = objWeb.GetListItem(urlDoc)&lt;/p&gt;    &lt;p style="margin: 0px; background-color: #ffff33"&gt;&lt;span style="color: #2b91af"&gt;   13&lt;/span&gt;       objItem.Item(&lt;span style="color: #a31515"&gt;"myDateTimeProp"&lt;/span&gt;) = Now&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   14&lt;/span&gt;       objItem.Update()&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   15&lt;/span&gt;       &lt;span style="color: blue"&gt;Dim&lt;/span&gt; stream &lt;span style="color: blue"&gt;As&lt;/span&gt; IO.Stream = objItem.File.OpenBinaryStream()&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   16&lt;/span&gt;       &lt;span style="color: blue"&gt;Dim&lt;/span&gt; props &lt;span style="color: blue"&gt;As&lt;/span&gt; &lt;span style="color: blue"&gt;New&lt;/span&gt; Hashtable&lt;/p&gt;    &lt;p style="margin: 0px; background-color: #ffff33"&gt;&lt;span style="color: #2b91af"&gt;   17&lt;/span&gt;       props.Add(&lt;span style="color: #a31515"&gt;"myDateTimeProp"&lt;/span&gt;, Now.ToUniversalTime)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   18&lt;/span&gt;       objItem.File.ParentFolder.Files.Add(&lt;span style="color: #a31515"&gt;"myDoc2.tif"&lt;/span&gt;, stream, props)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   19&lt;/span&gt;       stream.Dispose()&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   20&lt;/span&gt;     &lt;span style="color: blue"&gt;Catch&lt;/span&gt; ex &lt;span style="color: blue"&gt;As&lt;/span&gt; Exception&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   21&lt;/span&gt;       MessageBox.Show(ex.ToString)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   22&lt;/span&gt;     &lt;span style="color: blue"&gt;Finally&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   23&lt;/span&gt;       &lt;span style="color: blue"&gt;If&lt;/span&gt; &lt;span style="color: blue"&gt;Not&lt;/span&gt; objSite &lt;span style="color: blue"&gt;Is&lt;/span&gt; &lt;span style="color: blue"&gt;Nothing&lt;/span&gt; &lt;span style="color: blue"&gt;Then&lt;/span&gt; objSite.Dispose()&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   24&lt;/span&gt;       &lt;span style="color: blue"&gt;If&lt;/span&gt; &lt;span style="color: blue"&gt;Not&lt;/span&gt; objWeb &lt;span style="color: blue"&gt;Is&lt;/span&gt; &lt;span style="color: blue"&gt;Nothing&lt;/span&gt; &lt;span style="color: blue"&gt;Then&lt;/span&gt; objWeb.Dispose()&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   25&lt;/span&gt;       &lt;span style="color: blue"&gt;Me&lt;/span&gt;.Cursor = Cursors.Default&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   26&lt;/span&gt;     &lt;span style="color: blue"&gt;End&lt;/span&gt; &lt;span style="color: blue"&gt;Try&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   27&lt;/span&gt;   &lt;span style="color: blue"&gt;End&lt;/span&gt; &lt;span style="color: blue"&gt;Sub&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt; &lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#008000"&gt;Considerazioni finali&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;Si tratta di una mia personalissima ipotesi, ma secondo me i team di sviluppo della funzionalità di update e di quella di addnew sono distinti, separati e non comunicanti.&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;/p&gt; &lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/franx_blog/aggbug/93271.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Francesco Geri</dc:creator>
            <guid>http://blogs.ugidotnet.org/franx_blog/archive/2008/07/02/93271.aspx</guid>
            <pubDate>Thu, 03 Jul 2008 10:59:30 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/franx_blog/comments/93271.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/franx_blog/archive/2008/07/02/93271.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/franx_blog/comments/commentRss/93271.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/franx_blog/services/trackbacks/93271.aspx</trackback:ping>
        </item>
        <item>
            <title>Testo che scompare dalle textbox multilinea in Windows Vista</title>
            <category>.Net</category>
            <category>Tips</category>
            <category>Vista</category>
            <category>VS2005</category>
            <link>http://blogs.ugidotnet.org/franx_blog/archive/2008/07/01/93251.aspx</link>
            <description>&lt;p&gt;Ho riscontrato in una mia applicazione uno strano comportamento. &lt;/p&gt;  &lt;p&gt;Il testo di una textbox multilinea scompariva e riappariva passandogli sopra con il mouse. Oltre ad essere multilinea aveva anche una scrollbar verticale ed era inserita in un controllo SplitContainer che a sua volta era all'interno di una TabPage. Il comportamento si verificava solo con Windows Vista.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Per riprodurre il problema è sufficiente creare una applicazione Windows Forms, mettere un TabControl, dentro ad un suo TabPage mettere uno SplitContainer, dentro ad un pannello dello SplitContainer mettere un Textbox multilinea con Scrollbar verticale. Natuaralmente bisogna essere su un sistema con &lt;a href="http://blogs.ugidotnet.org/franx_blog/archive/2008/03/30/91960.aspx" target="_blank"&gt;Windows Vista&lt;/a&gt; (su XP tutto OK...)&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/franx_blog/WindowsLiveWriter/Testochescomparedalletextboxmultilineain_7F7E/image_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="289" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/franx_blog/WindowsLiveWriter/Testochescomparedalletextboxmultilineain_7F7E/image_thumb.png" width="644" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;A questo punto basta mandare in esecuzione, scrivere del testo nella textbox muovere un po' il mouse ed osservare il comportamento.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Per risolvere il problema mi viene in auto questo &lt;a href="http://www.eggheadcafe.com/software/aspnet/30192366/disappearing-text-in-wind.aspx" target="_blank"&gt;post&lt;/a&gt;, in cui si suggeriscono due vie:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Impostare a &lt;span style="color: blue"&gt;False&lt;/span&gt; la proprietà UseVisualStyleBackColor del TabPage       &lt;br /&gt;      &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;Me&lt;/span&gt;.TabPage1.UseVisualStyleBackColor = &lt;span style="color: blue"&gt;False          &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;Sostituire la textbox con una RichTextBox      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Impostare la proprietà Backcolor del TabPage ad un valore diverso da Trasparent (nuova soluzione indicatami da &lt;a href="http://blogs.devleap.com/riccardogualandri/default.aspx" target="_blank"&gt;Riccardo&lt;/a&gt;)&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Da notare che per la prima soluzione occorre impostare la proprietà da codice, per esempio nella load della pagina, in quanto se la si imposta dalla finestra delle proprietà del TabPage la modifica non viene recepita da Visual Studio (succederà solo a me?).&lt;/p&gt;  &lt;p&gt;Inoltre la prima soluzione funziona per l'esempio che ho proposto sopra, ma evidentemente non funziona sempre. Tant'è che per la mia applicazione originale non ha funzionato! Per cui ho adottato la seconda.&lt;/p&gt;  &lt;p&gt;Tutte le soluzioni hanno delle conseguenze grafiche, nel senso che modificano l'aspetto originale della form (nel primo caso lo sfondo del TabPage diventa grigetto, nel secondo il bordo della RichTextBox ha una profondità più marcata rispetto a quello del textbox, nel terzo si deve impostare un colore di sfondo) per cui nessuna delle tre è "perfetta". Tuttavia meglio di niente...&lt;/p&gt;  &lt;p style="font-size: 11pt; background: white; color: black; font-family: consolas; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/franx_blog/aggbug/93251.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Francesco Geri</dc:creator>
            <guid>http://blogs.ugidotnet.org/franx_blog/archive/2008/07/01/93251.aspx</guid>
            <pubDate>Wed, 02 Jul 2008 07:08:39 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/franx_blog/comments/93251.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/franx_blog/archive/2008/07/01/93251.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/franx_blog/comments/commentRss/93251.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/franx_blog/services/trackbacks/93251.aspx</trackback:ping>
        </item>
        <item>
            <title>Aggiungere un campo non nullo e senza default ad una tabella di SQL Server</title>
            <category>Tips</category>
            <category>SQL Server</category>
            <link>http://blogs.ugidotnet.org/franx_blog/archive/2008/06/16/93049.aspx</link>
            <description>&lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Problema&lt;/font&gt;&lt;/strong&gt;: &lt;/p&gt;
&lt;p&gt;Abbiamo una tabella in un database SQL Server, vogliamo scrivere uno script che aggiunge un campo che sia non nullo e senza default.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;font color="#00d535"&gt;&lt;strong&gt;Svolgimento&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;: &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Il semplice script seguente...&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;!--
{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Consolas;}}{\colortbl;??\red0\green0\blue255;\red255\green255\blue255;\red0\green0\blue0;}??\fs22 \cf1 alter table \cf0 MappingProprieta\par ??\cf1 add\tab \cf0 SPSPropertyTitle  \tab \cf1 varchar\cf0 (255) \cf1 not null\cf0 ,  \par ??}
--&gt;
&lt;div style="background: white none repeat scroll 0% 50%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: consolas;"&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;alter table &lt;/span&gt;MiaTabella&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;add &lt;/span&gt;MioCampo &lt;span style="color: blue;"&gt;varchar&lt;/span&gt;(255) &lt;span style="color: blue;"&gt;not null&lt;/span&gt;  &lt;/p&gt;
&lt;p style="margin: 0px;"&gt; &lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;font size="2" face="Trebuchet MS"&gt;...potrebbe non funzionare se la tabella ha già dei record. Infatti Una volta aggiunta la nuova colonna, che valore avrà per i record già presenti? Non potrà essere nulla, ma non è specificato un valore di default.&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;font size="2" face="Trebuchet MS"&gt;Per cui dovremmo scrivere il seguente script:&lt;/font&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;p style="margin: 0px;"&gt;&lt;font size="2" face="Trebuchet MS"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;alter table &lt;/span&gt;MiaTabella&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;add &lt;/span&gt;MioCampo &lt;span style="color: blue;"&gt;varchar&lt;/span&gt;(255) &lt;span style="color: blue;"&gt;not null default (&lt;font color="#800000"&gt;''&lt;/font&gt;)&lt;/span&gt;  &lt;/p&gt;
&lt;p style="margin: 0px;"&gt; &lt;/p&gt;
&lt;p style="margin: 0px;"&gt;In questo modo i vecchi record avranno come valore la stringa vuota e quindi lo script potrà essere eseguito. &lt;/p&gt;
&lt;p style="margin: 0px;"&gt;Però a questo punto abbiamo bisogno di rimuovere il defualt.&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;La cosa non è banale: in SQL Server non potremo scrivere uno script del tipo ALTER TABLE per rimuove il default (lo potremmo fare con &lt;a href="http://technet.microsoft.com/en-us/library/ms174123.aspx" target="_blank"&gt;SQL Server Compact Edition&lt;/a&gt;). L'unico modo è quello di rimuovere il CONSTRAINT che definisce il default.&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;Ma come si chiama questo constraint? Quel nome viene creato da SQL Server e nel caso dello script sopra sarà del tipo: &lt;/p&gt;
&lt;p style="margin: 0px;"&gt;DF__MiaTabella__MioCa__6E01572D&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;La soluzione che ho trovato io fa uso di un diverso script con sui viene definito esplicitamente il nome del CONSTRAINT, dandomi quindi la possibilità di rimuoverlo in modo molto semplice:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;!--
{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Consolas;}}{\colortbl;??\red0\green128\blue0;\red255\green255\blue255;\red0\green0\blue255;\red0\green0\blue0;\red163\green21\blue21;}??\fs22 \cf1 /* Aggiunge il campo SPSPropertyTitle con un default temporaneo */\par ??\cf3 alter table \cf0 MappingProprieta\par ??\cf3 add\tab \cf0 SPSPropertyTitle  \tab \cf3 varchar\cf0 (255) \cf3 not null\cf0 ,  \par ??    \cf3 constraint \cf0 DF_MappingProprieta_SPSPropertyTitle \cf3 default \cf5 '' \cf3 for \cf0 SPSPropertyTitle\par ??go\par ??\par ??\par ??\cf1 /*- */\par ??/* Aggiornamento valori */\par ??/*- */\par ??\cf3 update \cf0 MappingProprieta \cf3 set \cf0 SPSPropertyTitle = SPSProperty\par ??go\par ??\par ??\par ??\cf1 /*- */\par ??/* Aggiornamento tabelle */\par ??/*- */\par ??\par ??/* Rimuove il default temporaneo */\par ??\cf3 alter table \cf0 MappingProprieta\par ??\cf3 drop constraint \cf0 DF_MappingProprieta_SPSPropertyTitle\par ??go}
--&gt;&lt;/p&gt;
&lt;div style="background: white none repeat scroll 0% 50%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: consolas;"&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: green;"&gt;/* Aggiunge il campo MioCampo ed il constraint &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: green;"&gt;&lt;span style="color: green;"&gt;(DF_MiaTabella_MioCampo) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: green;"&gt;per &lt;/span&gt;&lt;span style="color: green;"&gt;il default temporaneo */&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;alter table &lt;/span&gt;MiaTabella&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;add &lt;/span&gt;MioCampo &lt;span style="color: blue;"&gt;varchar&lt;/span&gt;(255) &lt;span style="color: blue;"&gt;not null&lt;/span&gt;, &lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: blue;"&gt;constraint &lt;/span&gt;DF_MiaTabella_MioCampo &lt;span style="color: blue;"&gt;default &lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;'' &lt;/span&gt;&lt;span style="color: blue;"&gt;for &lt;/span&gt;MioCampo&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;go&lt;/p&gt;
&lt;p style="margin: 0px;"&gt; &lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: green;"&gt;/* Rimuove il default temporaneo */&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;alter table &lt;/span&gt;MiaTabella&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;drop constraint &lt;/span&gt;DF_MiaTabella_MioCampo&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;go&lt;/p&gt;
&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/franx_blog/aggbug/93049.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Francesco Geri</dc:creator>
            <guid>http://blogs.ugidotnet.org/franx_blog/archive/2008/06/16/93049.aspx</guid>
            <pubDate>Mon, 16 Jun 2008 15:45:27 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/franx_blog/comments/93049.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/franx_blog/archive/2008/06/16/93049.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/franx_blog/comments/commentRss/93049.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/franx_blog/services/trackbacks/93049.aspx</trackback:ping>
        </item>
        <item>
            <title>How to refresh the CRL cache on Windows Vista</title>
            <category>Tips</category>
            <category>Vista</category>
            <link>http://blogs.ugidotnet.org/franx_blog/archive/2008/04/29/92462.aspx</link>
            <description>&lt;p&gt;&lt;font face="Lucida Sans Unicode" size="2"&gt;&lt;em&gt;Posto nel mio blog (perché così me lo ritrovo subito) un &lt;/em&gt;&lt;a title="How to refresh the CRL cache on Windows Vista" href="http://blogs.technet.com/pki/archive/2007/09/13/how-to-refresh-the-crl-cache-on-windows-vista.aspx" target="_blank"&gt;&lt;em&gt;post&lt;/em&gt;&lt;/a&gt;&lt;em&gt; (liberamente modificato) che mi è stato utile un paio di volte.        &lt;br /&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Lucida Sans Unicode" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Lucida Sans Unicode" size="2"&gt;By default, Windows is caching Certificate Revocation Lists (CRL) and CA certificates to quickly verify certificate chains. The downside of this behavior is that a newer CRL is not picked up by the client until the locally cached CRL has expired.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Lucida Sans Unicode" color="#008080" size="2"&gt;Windows versions before Windows Vista do not support deletion or a forced update of the CRL cache.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Lucida Sans Unicode" color="#008080" size="2"&gt;You can view what is in your current CRL cache with the following command:     &lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New" size="2"&gt;certutil -URLcache CRL&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Lucida Sans Unicode" color="#008080" size="2"&gt;You can delete what is in your current CRL cache with the following command:     &lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New" size="2"&gt;certutil -URLcache CRL delete&lt;/font&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;font face="Lucida Sans Unicode" color="#008080" size="2"&gt;On Windows Vista, CAPI 2.0 has support to set a expiry date for the CRL and OCSP cache. You can use certutil to set a date and time when all cache entries become invalid. The following commands require administrative permission on the system.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Lucida Sans Unicode" color="#008080" size="2"&gt;To see when the cache was invalidated the last time, perform this command:     &lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New" size="2"&gt;certutil –getreg chain\ChainCacheResyncFiletime&lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2"&gt;&lt;font face="Lucida Sans Unicode"&gt;&lt;font color="#008080"&gt;&lt;u&gt;Note:&lt;/u&gt; If the &lt;i&gt;ChainCacheResyncFiletime&lt;/i&gt; was never set manually before, the registry key does not exist and the following error message is shown:&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#800000"&gt;&lt;i&gt;&lt;font face="Lucida Sans Unicode" size="2"&gt;CertUtil: -getreg command FAILED: 0x80070002 (WIN32: 2)           &lt;br /&gt;&lt;/font&gt;&lt;/i&gt;&lt;i&gt;&lt;font face="Lucida Sans Unicode" size="2"&gt;CertUtil: The system cannot find the file specified.&lt;/font&gt;&lt;/i&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Lucida Sans Unicode" color="#008080" size="2"&gt;The error can be ignored because default CRL caching takes place in this case.&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font face="Lucida Sans Unicode" color="#008080" size="2"&gt;If the @now parameter is used, all cached entries are invalidated immediately.     &lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New" size="2"&gt;certutil -setreg chain\ChainCacheResyncFiletime @now&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Lucida Sans Unicode" color="#008080" size="2"&gt;To keep the cached entries for another 3 days and 6 hours, use this command:     &lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New" size="2"&gt;certutil –setreg chain\ChainCacheResyncFiletime @now+3:6&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Lucida Sans Unicode" color="#008080" size="2"&gt;To delete a registry value:     &lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New" size="2"&gt;certutil –delreg chain\ChainCacheResyncFiletime&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/franx_blog/aggbug/92462.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Francesco Geri</dc:creator>
            <guid>http://blogs.ugidotnet.org/franx_blog/archive/2008/04/29/92462.aspx</guid>
            <pubDate>Wed, 30 Apr 2008 10:42:10 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/franx_blog/comments/92462.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/franx_blog/archive/2008/04/29/92462.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/franx_blog/comments/commentRss/92462.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/franx_blog/services/trackbacks/92462.aspx</trackback:ping>
        </item>
        <item>
            <title>Open XML Format SDK</title>
            <category>.Net</category>
            <category>MS Office</category>
            <category>XML</category>
            <link>http://blogs.ugidotnet.org/franx_blog/archive/2008/04/17/92265.aspx</link>
            <description>&lt;p&gt;Pubblicato l'Open XML Format SDK (April CTP):&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/downloads/details.aspx?FamilyId=AD0B72FB-4A1D-4C52-BDB5-7DD7E816D046&amp;amp;displaylang=en" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=AD0B72FB-4A1D-4C52-BDB5-7DD7E816D046&amp;amp;displaylang=en" target="_blank"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=AD0B72FB-4A1D-4C52-BDB5-7DD7E816D046&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Mentre la versione online dell'SDK è all'indirizzo:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://msdn2.microsoft.com/en-us/library/bb448854.aspx" href="http://msdn2.microsoft.com/en-us/library/bb448854.aspx" target="_blank"&gt;http://msdn2.microsoft.com/en-us/library/bb448854.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Fonte: &lt;a title="Erika Ehrli" href="http://blogs.msdn.com/erikaehrli/archive/2008/04/17/announcing-the-open-xml-format-sdk-april-ctp.aspx" target="_blank"&gt;Erika Ehrli&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/franx_blog/aggbug/92265.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Francesco Geri</dc:creator>
            <guid>http://blogs.ugidotnet.org/franx_blog/archive/2008/04/17/92265.aspx</guid>
            <pubDate>Fri, 18 Apr 2008 06:45:52 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/franx_blog/comments/92265.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/franx_blog/archive/2008/04/17/92265.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/franx_blog/comments/commentRss/92265.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/franx_blog/services/trackbacks/92265.aspx</trackback:ping>
        </item>
        <item>
            <title>[OT] KBox Spring 2008</title>
            <category>[OT] Relax</category>
            <link>http://blogs.ugidotnet.org/franx_blog/archive/2008/04/11/92182.aspx</link>
            <description>&lt;p&gt;Faccio un po' di pubblicità per un &lt;a href="http://www.itconsult.it/sala_stampa/eventi/det.asp?ID=63" target="_blank"&gt;evento&lt;/a&gt; organizzato dall'&lt;a href="http://www.itconsult.it/" target="_blank"&gt;azienda&lt;/a&gt; per cui lavoro: &lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;è un evnto in cui si parla di Knowledge Management &lt;/li&gt;
    &lt;li&gt;è organizzato in collaborazione con &lt;a href="http://www.microsoft.com" target="_blank"&gt;Microsoft&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;è gratuito &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.itconsult.it/sala_stampa/eventi/det.asp?ID=63"&gt;&lt;img width="191" height="244" border="0" align="left" style="border-width: 0px;" alt="KBox Spring 2008" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/franx_blog/WindowsLiveWriter/OTKBoxSpring2008_F567/kbox_thumb.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt; &lt;/p&gt;
&lt;br /&gt;
&lt;p&gt; &lt;/p&gt;
&lt;br /&gt;
&lt;p&gt; &lt;/p&gt;
&lt;br /&gt;
&lt;p&gt; &lt;/p&gt;
&lt;br /&gt;
&lt;p&gt; &lt;/p&gt;
&lt;br /&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/franx_blog/aggbug/92182.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Francesco Geri</dc:creator>
            <guid>http://blogs.ugidotnet.org/franx_blog/archive/2008/04/11/92182.aspx</guid>
            <pubDate>Fri, 11 Apr 2008 15:31:56 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/franx_blog/comments/92182.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/franx_blog/archive/2008/04/11/92182.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/franx_blog/comments/commentRss/92182.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/franx_blog/services/trackbacks/92182.aspx</trackback:ping>
        </item>
        <item>
            <title>[OT] Romeo e La Trippa</title>
            <link>http://blogs.ugidotnet.org/franx_blog/archive/2008/04/10/92161.aspx</link>
            <description>&lt;p&gt;Faccio un piacere ad un amico &lt;a href="http://www.dizionario-italiano.it/definizione-lemma.php?definizione=petulante&amp;amp;lemma=P0613800" target="_blank"&gt;petulante&lt;/a&gt; ed invito i miei pochi lettori a compilare il &lt;a href="http://apps.facebook.com/votantoniolatrippa" target="_blank"&gt;sondaggio&lt;/a&gt; politico &lt;a href="http://www.nonaka.eu/?p=134" target="_blank"&gt;proposto&lt;/a&gt; da &lt;a href="http://www.nonaka.eu/?page_id=2" target="_blank"&gt;Romeo&lt;/a&gt; su facebook.     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;Nota: Romeo mi ha assicurato che, in accordo con le attuali normative in materia di par codiciio, il risultato del sondaggio sarà pubblicato solo dopo la conclusione delle votazioni. &lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/franx_blog/aggbug/92161.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Francesco Geri</dc:creator>
            <guid>http://blogs.ugidotnet.org/franx_blog/archive/2008/04/10/92161.aspx</guid>
            <pubDate>Thu, 10 Apr 2008 13:12:10 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/franx_blog/comments/92161.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/franx_blog/archive/2008/04/10/92161.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/franx_blog/comments/commentRss/92161.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/franx_blog/services/trackbacks/92161.aspx</trackback:ping>
        </item>
        <item>
            <title>Trasformazione di un file XML in un file HTML tramite un XSLT</title>
            <category>Tips</category>
            <category>.Net</category>
            <category>XML</category>
            <link>http://blogs.ugidotnet.org/franx_blog/archive/2008/04/02/92024.aspx</link>
            <description>&lt;p&gt;La trasformazione via codice di un file XML in HTML tramite file XSLT è molto semplice (cito liberamente da &lt;a target="_blank" href="http://msdn2.microsoft.com/en-us/library/system.xml.xsl.xslcompiledtransform.aspx"&gt;MSDN&lt;/a&gt;):&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre&gt;' Load the style sheet.&lt;br /&gt;Dim xslt As New XslCompiledTransform()&lt;br /&gt;xslt.Load("output.xsl")&lt;br /&gt;        &lt;br /&gt;' Execute the transform and output the results to a file.&lt;br /&gt;xslt.Transform("books.xml", "books.html")&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Il codice riportato lavora su file fisici, messi da qualche parte. &lt;br /&gt;
Se però non si vuole sfruttare il file system, si può usare una funzione come la seguente, che consente di fare la trasformazione senza aver file fisici in gioco.&lt;/p&gt;
&lt;p&gt;  &lt;/p&gt;
&lt;div style="background: white none repeat scroll 0% 50%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: consolas;"&gt;
&lt;p style="margin: 0px;"&gt;  &lt;span style="color: blue;"&gt;Function&lt;/span&gt; TransformXML(&lt;span style="color: blue;"&gt;ByVal&lt;/span&gt; xDoc &lt;span style="color: blue;"&gt;As&lt;/span&gt; Xml.XmlDocument, &lt;span style="color: blue;"&gt;ByVal&lt;/span&gt; xsltText &lt;span style="color: blue;"&gt;As&lt;/span&gt; &lt;span style="color: blue;"&gt;String&lt;/span&gt;) &lt;span style="color: blue;"&gt;As&lt;/span&gt; &lt;span style="color: blue;"&gt;String&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: green;"&gt;' Carica l'xslt&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: blue;"&gt;Dim&lt;/span&gt; xslt &lt;span style="color: blue;"&gt;As&lt;/span&gt; &lt;span style="color: blue;"&gt;New&lt;/span&gt; Xml.Xsl.XslCompiledTransform()&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: blue;"&gt;Dim&lt;/span&gt; xsltStringReader &lt;span style="color: blue;"&gt;As&lt;/span&gt; &lt;span style="color: blue;"&gt;New&lt;/span&gt; IO.StringReader(xsltText)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: blue;"&gt;Dim&lt;/span&gt; xsltXmlReader &lt;span style="color: blue;"&gt;As&lt;/span&gt; &lt;span style="color: blue;"&gt;New&lt;/span&gt; Xml.XmlTextReader(xsltStringReader)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    xslt.Load(xsltXmlReader)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: green;"&gt;' Crea il reader per l'XML in XDOC&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: blue;"&gt;Dim&lt;/span&gt; xDocStringReader &lt;span style="color: blue;"&gt;As&lt;/span&gt; &lt;span style="color: blue;"&gt;New&lt;/span&gt; IO.StringReader(xDoc.OuterXml)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: blue;"&gt;Dim&lt;/span&gt; xDocXmlReader &lt;span style="color: blue;"&gt;As&lt;/span&gt; &lt;span style="color: blue;"&gt;New&lt;/span&gt; Xml.XmlTextReader(xDocStringReader)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: green;"&gt;' Crea il writer per l'html&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: blue;"&gt;Dim&lt;/span&gt; htmlStringBuilder &lt;span style="color: blue;"&gt;As&lt;/span&gt; &lt;span style="color: blue;"&gt;New&lt;/span&gt; Text.StringBuilder()&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: blue;"&gt;Dim&lt;/span&gt; htmlStringWriter &lt;span style="color: blue;"&gt;As&lt;/span&gt; &lt;span style="color: blue;"&gt;New&lt;/span&gt; IO.StringWriter(htmlStringBuilder)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: blue;"&gt;Dim&lt;/span&gt; htmlXmlReaderWriter &lt;span style="color: blue;"&gt;As&lt;/span&gt; &lt;span style="color: blue;"&gt;New&lt;/span&gt; Xml.XmlTextWriter(htmlStringWriter)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: green;"&gt;' Esegue la trasformazione&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    xslt.Transform(xDocXmlReader, htmlXmlReaderWriter)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: green;"&gt;' Retuisce il contenuto html&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: blue;"&gt;Return&lt;/span&gt; htmlStringBuilder.ToString()&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;  &lt;span style="color: blue;"&gt;End&lt;/span&gt; &lt;span style="color: blue;"&gt;Function&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/franx_blog/aggbug/92024.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Francesco Geri</dc:creator>
            <guid>http://blogs.ugidotnet.org/franx_blog/archive/2008/04/02/92024.aspx</guid>
            <pubDate>Wed, 02 Apr 2008 14:55:08 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/franx_blog/comments/92024.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/franx_blog/archive/2008/04/02/92024.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/franx_blog/comments/commentRss/92024.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/franx_blog/services/trackbacks/92024.aspx</trackback:ping>
        </item>
        <item>
            <title>Vista serve solo per la musica?</title>
            <category>Tips</category>
            <category>Vista</category>
            <link>http://blogs.ugidotnet.org/franx_blog/archive/2008/03/30/91960.aspx</link>
            <description>&lt;p&gt;Ogni tanto devo fare un po' di yoga per non maledire Vista...&lt;/p&gt;
&lt;p&gt;Come sapete Vista nasce per memorizzare file musicali e video. Non va bene per chi deve sviluppare o scrivere documenti di testo o altre cose.&lt;/p&gt;
&lt;p&gt;La dimostrazione di ciò è il fatto che per Vista tutte le cartelle contengono file musicali. E' facile capirlo, visto che in ogni cartella (anche se uno fa duitutto per dimostrare il contrario!) i dettagli dei file sono: il rating, l'artista, la lunghezza del brano, il produttore!&lt;/p&gt;
&lt;p&gt;Per questo è utilie avere sempre sottomano il link al &lt;a href="http://www.myxaml.com/blog2/default.aspx?ID=85" target="_blank"&gt;post&lt;/a&gt; di &lt;a href="http://www.myxaml.com/blog2/default.aspx" target="_blank"&gt;Marc Clifton&lt;/a&gt; in cui è descritto il meccanismo per ripristinare una view più utile (con i tanto sospirati campi "data modifica", "size", etc).&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Qualcun'altro ha già fatto un post su UgiDotNet con la stessa citazione, ma lo faccio anch'io, così quando mi servirà di nuovo (e so che mi servirà, perché Vista è subdolo e malefico: &lt;a href="http://www.google.it/search?hl=it&amp;amp;client=firefox-a&amp;amp;rls=org.mozilla%3Ait%3Aofficial&amp;amp;hs=tyF&amp;amp;q=odio+windows+vista&amp;amp;btnG=Cerca&amp;amp;meta=" target="_blank"&gt;1&lt;/a&gt;, &lt;a href="http://www.google.it/search?hl=it&amp;amp;client=firefox-a&amp;amp;rls=org.mozilla%3Ait%3Aofficial&amp;amp;hs=gIv&amp;amp;q=I+hate+windows+vista&amp;amp;btnG=Cerca&amp;amp;meta=" target="_blank"&gt;2&lt;/a&gt;, &lt;a href="http://www.google.es/search?hl=it&amp;amp;q=Odio+Windows+Vista&amp;amp;btnG=Cerca+con+Google&amp;amp;meta=cr%3DcountryES" target="_blank"&gt;3&lt;/a&gt;, &lt;a href="http://www.google.fr/search?hl=it&amp;amp;q=Je+d%C3%A9teste+Windows+Vista&amp;amp;btnG=Cerca+con+Google&amp;amp;meta=" target="_blank"&gt;4&lt;/a&gt;, ... ), non dovrò perdere tempo a cercarlo.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.myxaml.com/blog2/default.aspx?ID=85"&gt;Folder View Settings&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;8/16/2007 3:19:05 PM&lt;/p&gt;
&lt;p&gt;From CPian Anton Afanasyev:&lt;/p&gt;
&lt;p&gt;On a side note, my main beef with Vista has been that it tends to "forget" the view settings that I set for folders, and keeps trying to guess them - which in turn shows me my folder full of code files with large thumbnails of them, and columns like "rating", "length", "artist", "year" and some such. &lt;/p&gt;
&lt;p&gt;The fix?&lt;/p&gt;
&lt;p&gt;delete the following registry keys, and then save the following as a .reg file and apply it to the system. Works like a charm.&lt;/p&gt;
&lt;p&gt;Keys to delete:&lt;/p&gt;
&lt;p&gt;HKEY_CURRENT_USER\Software\Classes\LocalSettings\Software\Microsoft\Windows\Shell\Bags&lt;/p&gt;
&lt;p&gt;HKEY_CURRENT_USER\Software\Classes\LocalSettings\Software\Microsoft\Windows\Shell\BagMRU&lt;/p&gt;
&lt;p&gt;Add to the registry:&lt;/p&gt;
&lt;p&gt;Windows Registry Editor Version 5.00   &lt;br /&gt;
[HKEY_CURRENT_USER\Software\Classes\LocalSettings\Software\Microsoft\Windows\Shell\Bags]    &lt;br /&gt;
[HKEY_CURRENT_USER\Software\Classes\LocalSettings\Software\Microsoft\Windows\Shell\Bags\All Folders]    &lt;br /&gt;
[HKEY_CURRENT_USER\Software\Classes\LocalSettings\Software\Microsoft\Windows\Shell\Bags\All Folders\Shell]    &lt;br /&gt;
"FolderType"="NotSpecified"    &lt;br /&gt;
"SniffedFolderType"="NotSpecified"    &lt;br /&gt;
[HKEY_CURRENT_USER\Software\Classes\LocalSettings\Software\Microsoft\Windows\Shell\Bags\AllFolders]    &lt;br /&gt;
[HKEY_CURRENT_USER\Software\Classes\LocalSettings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell]    &lt;br /&gt;
"FolderType"="NotSpecified"    &lt;br /&gt;
"SniffedFolderType"="NotSpecified" &lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/franx_blog/aggbug/91960.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Francesco Geri</dc:creator>
            <guid>http://blogs.ugidotnet.org/franx_blog/archive/2008/03/30/91960.aspx</guid>
            <pubDate>Mon, 31 Mar 2008 09:11:05 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/franx_blog/comments/91960.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/franx_blog/archive/2008/03/30/91960.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/franx_blog/comments/commentRss/91960.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/franx_blog/services/trackbacks/91960.aspx</trackback:ping>
        </item>
        <item>
            <title>Errore nella creazione di un setup con VS2005 in Vista</title>
            <category>Tips</category>
            <category>VS2005</category>
            <category>Vista</category>
            <link>http://blogs.ugidotnet.org/franx_blog/archive/2008/03/11/91660.aspx</link>
            <description>&lt;p&gt;Facendo la build di un progetto di setup con VS2005 in un pc con Vista, potrebbe saltar fuori questo errore:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/franx_blog/WindowsLiveWriter/ErrorenellacreazionediunsetupconVS2005in_9B90/image_2.png"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="109" alt="image" width="244" border="0" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/franx_blog/WindowsLiveWriter/ErrorenellacreazionediunsetupconVS2005in_9B90/image_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;L'errore è questo: &lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;0:Watson 1:1304 2:StreamSupportFiles &lt;br /&gt;
3:streamBinaryToDisk 4:5 &lt;br /&gt;
5:t:\yukon\sql\setup\darwin\sqlcastub\streamca.cpp &lt;br /&gt;
6:238 7:sqlcastub 8:sqlrun.msi&lt;/em&gt; &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Premendo OK ne compare un altro: &lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Error writing to file: Access is denied &lt;br /&gt;
Verify that you have access to that directory&lt;/em&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Questo può succedere se si ha Vista, Visual Studio 2005 Professional ed SQL Server 2005 Developer.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font color="#0080ff"&gt;Soluzione&lt;/font&gt;&lt;/strong&gt;:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Avviando VS2005 As Asdministrator non si ha l'errore &lt;/li&gt;
    &lt;li&gt;Installando una versione successiva della dll &lt;em&gt;mergemod.dll&lt;/em&gt; che pare essere la causa del problema (come suggeriscono &lt;a target="_blank" href="http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=113155"&gt;qui&lt;/a&gt;): la versione successiva di quella DLL la si può ottenere installando &lt;a target="_blank" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/orca_exe.asp"&gt;Orca&lt;/a&gt;. &lt;/li&gt;
&lt;/ol&gt;&lt;img src="http://blogs.ugidotnet.org/franx_blog/aggbug/91660.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Francesco Geri</dc:creator>
            <guid>http://blogs.ugidotnet.org/franx_blog/archive/2008/03/11/91660.aspx</guid>
            <pubDate>Wed, 12 Mar 2008 10:06:56 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/franx_blog/comments/91660.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/franx_blog/archive/2008/03/11/91660.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/franx_blog/comments/commentRss/91660.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/franx_blog/services/trackbacks/91660.aspx</trackback:ping>
        </item>
    </channel>
</rss>