<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Caio&#039;s Blog &#187; compiler error</title>
	<atom:link href="http://www.dreamtec.it/caioblog/index.php/tag/compiler-error/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dreamtec.it/caioblog</link>
	<description>A life in technique</description>
	<lastBuildDate>Sun, 15 Aug 2010 14:24:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>ASP.NET Dynamic Data Preview 4 :: Compiler error</title>
		<link>http://www.dreamtec.it/caioblog/index.php/2009/06/567/</link>
		<comments>http://www.dreamtec.it/caioblog/index.php/2009/06/567/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 19:36:45 +0000</pubDate>
		<dc:creator>Caio</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[compiler error]]></category>
		<category><![CDATA[Dynamic Data]]></category>
		<category><![CDATA[GAC]]></category>
		<category><![CDATA[tecnologia]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.dreamtec.cc/caioblog/?p=567</guid>
		<description><![CDATA[ASP.NET Dynamic Data Preview 4 E&#8217; uscita la preview di quello che sarà l&#8217;evoluzione della tecnologia dynamic data. Eccellente: controlli più sofisticati, relazioni N a N, possibilità di filtraggi sulle gridview più granulari, e un sacco di altre feature carine ma soprattutto utili. Peccato che importando le DLL nei progetti web in VS capiti che [...]]]></description>
			<content:encoded><![CDATA[<h2><span style="color: #1e960a;"><strong>ASP.NET Dynamic Data Preview 4</strong></span></h2>
<p>E&#8217; uscita<a href="http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=27026#DownloadId=67526" target="_blank" class="liexternal"> la preview</a> di quello che sarà l&#8217;evoluzione della tecnologia <strong>dynamic data</strong>. Eccellente: controlli più sofisticati, relazioni N a N, possibilità di filtraggi sulle gridview più granulari, e un sacco di altre feature carine ma soprattutto utili.</p>
<p>Peccato che importando le DLL nei progetti web in VS capiti che il progetto non compili più, perchè le DLL contenute nella <a href="http://en.wikipedia.org/wiki/Global_Assembly_Cache" target="_blank" rel="nofollow" class="liwikipedia">GAC</a> (quelle originali del framework) contengano le stesse definizioni di metodi e classi di questa nuova versione. E il compilatore &#8211; giustamente &#8211; s&#8217;incazza perchè non sa quale versione utilizzare.</p>
<pre class="brush: php">

Error    7    Il tipo &#039;System.ComponentModel.DataAnnotations.MetadataTypeAttribute&#039; esiste sia in &#039;c:WindowsassemblyGAC_MSILSystem.ComponentModel.DataAnnotations3.5.0.0__31bf3856ad364e35System.ComponentModel.DataAnnotations.dll&#039; che in &#039;c:UsersCaioAppDataLocalTempTemporary ASP.NET Filesxxxf719f7a77b9814d9assemblydl3�a760a26�007f03e_bcd3c901System.ComponentModel.DataAnnotations.DLL&#039;

Error    1    Il tipo &#039;System.Web.DynamicData.FilterUserControlBase&#039; esiste sia in &#039;c:UsersCaioAppDataLocalTempTemporary ASP.NET Filesxxxf719f7a77b9814d9assemblydl3�57b97ce�007f03e_bcd3c901System.Web.DynamicData.DLL&#039; che in &#039;c:WindowsassemblyGAC_MSILSystem.Web.DynamicData3.5.0.0__31bf3856ad364e35System.Web.DynamicData.dll&#039;
</pre>
<p>Peccato anche che non ci siano spiegazioni su come far funzionare il tutto (anche se, effettivamente, copiare le dll nel posto giusto non è poi così complicato), e che in questo caso non sia chiaro come proseguire in presenza di questo errore.</p>
<pre class="brush: php">

tagPrefix=&quot;asp&quot; namespace=&quot;System.Web.DynamicData&quot; assembly=&quot;System.Web.DynamicData, Version=99.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&quot;/;
</pre>
<p>La <strong>soluzione </strong>consiste nel modificare la dichiarazione della libreria dynamicdata nel <strong>web.config</strong> in modo che la versione utilizzata sia quella di codeplex e non quella ufficiale del framework:</p>
<p>e nel sostituire le versioni delle librerie che vogliamo utilizzare da quelle pescate dalla GAC a quelle importate dal nostro progetto.</p>
<p><img src="file:///C:/DOCUME~1/Caio/LOCALS~1/Temp/moz-screenshot-58.jpg" alt="" /></p>
<p><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2009/06/dll.jpeg" class="liimagelink" rel="lightbox[567]"><img class="alignleft size-full wp-image-568" title="dll" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2009/06/dll.jpeg" alt="dll" height="478" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dreamtec.it/caioblog/index.php/2009/06/567/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multiple dbml with same tables</title>
		<link>http://www.dreamtec.it/caioblog/index.php/2009/05/multiple-dbml-with-same-tables/</link>
		<comments>http://www.dreamtec.it/caioblog/index.php/2009/05/multiple-dbml-with-same-tables/#comments</comments>
		<pubDate>Thu, 14 May 2009 20:03:43 +0000</pubDate>
		<dc:creator>Caio</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[compiler error]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[DBML]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[tecnica]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.dreamtec.cc/caioblog/?p=554</guid>
		<description><![CDATA[Probabilmente non è una di quelle operazioni che si compiono quotidianamente, ma pare non ci siano molte informazioni in giro riguardo a come includere diversi modelli dbml, contenenti le stesse tabelle, all&#8217;interno di un&#8217;unico progetto in Visual Studio, per cui ritengo valga la pena scriversi 2 appunti. Poniamo il caso in cui sia necessario utilizzare [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2009/05/diagram.jpeg" class="liimagelink" rel="lightbox[554]"><img class="alignleft size-full wp-image-553" style="border: 5px solid white;" title="diagram dbml" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2009/05/diagram.jpeg" alt="diagram dbml" width="419" height="695" /></a> Probabilmente non è una di quelle operazioni che si compiono quotidianamente, ma pare non ci siano molte informazioni in giro riguardo a come includere diversi <strong>modelli dbml</strong>, contenenti le stesse tabelle, all&#8217;interno di un&#8217;unico progetto in Visual Studio, per cui ritengo valga la pena scriversi 2 appunti.</p>
<p style="text-align: justify;">Poniamo il caso in cui sia necessario utilizzare dei database che contengono per caso 2 <strong>tabelle uguali</strong>, o in cui comunque ci siano gli stessi nomi di tabella, e includerli in un modello <strong>LINQ to SQL</strong> per riutilizzarli ad esempio con dynamic data.</p>
<p style="text-align: justify;">Se ci limitiamo a creare i dbml e ad aggiungervi le tabelle del nostro DB, al primo CTRL + B il compilatore di Visual Studio fallirà riportando tanti errori quante ridefinizioni delle stesse tabelle troverà.</p>
<p style="text-align: justify;">Per risolvere questo problema è sufficiente aggiungere un <strong>Context Namespace</strong> ed un <strong>Entity Namespace</strong> per ogni dbml, in modo che durante la compilazione non ci saranno conflitti nella dichiarazione delle classi (visto che le tabelle sono rappresentate da classi nel dbml).</p>
<p style="text-align: justify;"><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2009/05/dbml.jpg" class="liimagelink" rel="lightbox[554]"><img class="alignleft size-full wp-image-555" title="dbml" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2009/05/dbml.jpg" alt="dbml" width="303" height="227" /></a></p>
<p style="text-align: justify;">Ovviamente sarà necessario scegliere la connessione corretta per gestire il DB relativo al dbml, dichiarata preventivamente nel <strong>web.config</strong>, e visto che probabilmente vorremo usare il dbml nel progetto, ad esempio con dynamic data, dovremo modificare il<strong> global.asax</strong> dicendogli di utilizzare il datacontext corretto ed eventualmente registrando le nuove routes.</p>
<p style="text-align: justify;">Un buon articolo su come fare per registrare diverse routes di diversi dbml <a href="http://blogs.msdn.com/davidebb/archive/2008/12/11/using-dynamic-data-with-multiple-databases.aspx" target="_blank" class="liexternal">è disponibile qui</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dreamtec.it/caioblog/index.php/2009/05/multiple-dbml-with-same-tables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Basta poco&#8230;[Errore interno del compilatore: fase &#039;BIND&#039; ]</title>
		<link>http://www.dreamtec.it/caioblog/index.php/2009/03/basta-pocoerrore-interno-del-compilatore-fase-bind/</link>
		<comments>http://www.dreamtec.it/caioblog/index.php/2009/03/basta-pocoerrore-interno-del-compilatore-fase-bind/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 13:43:42 +0000</pubDate>
		<dc:creator>Caio</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[compiler error]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.dreamtec.cc/caioblog/?p=500</guid>
		<description><![CDATA[Per motivi apparentemente inspiegabili durante la compilazione di un sito web in aspx Visual studio continua a spararmi errori come questo: Errore interno del compilatore: fase &#039;BIND&#039; Errore interno del compilatore: fase &#039;COMPILE&#039; Internal Compiler Error: stage &#039;BIND&#039; dopo parecchio tempo alla ricerca della causa riesco a circoscrivere il problema, e alla fine scopro che [...]]]></description>
			<content:encoded><![CDATA[<p>Per motivi apparentemente inspiegabili durante la compilazione di un sito web in aspx Visual studio continua a spararmi errori come questo:</p>
<pre class="brush: c#">

Errore interno del compilatore: fase &#039;BIND&#039;

Errore interno del compilatore: fase &#039;COMPILE&#039;

Internal Compiler Error: stage &#039;BIND&#039;
</pre>
<p>dopo parecchio tempo alla ricerca della causa riesco a circoscrivere il problema, e alla fine scopro che il mancato parsing di una variabile di sessione a stringa manda in palla il compilatore che non riesce a completare il suo lavoro.</p>
<p>Basta un pezzo di codice come questo nel page_load di una pagina aspx:</p>
<pre class="brush: c#">

if (Session[&quot;VarToControl&quot;] != &quot;myPersonalValue&quot;)
Response.Redirect(&quot;/URLRedirect/Page.aspx&quot;);
</pre>
<p>per sollevare il problema, mentre per risolverlo è sufficiente convertire a stringa il valore letto in questo modo:</p>
<pre class="brush: c#">

if (Session[&quot;VarToControl&quot;].ToString() != &quot;myPersonalValue&quot;)
Response.Redirect(&quot;/URLRedirect/Page.aspx&quot;);
</pre>
<p>e come per magia tutto riprende a compilare senza problemi..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dreamtec.it/caioblog/index.php/2009/03/basta-pocoerrore-interno-del-compilatore-fase-bind/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
