ASP.NET Dynamic Data Preview 4 :: Compiler errorpily1ky242hwo2e1x224a2il1g6pe3inASP.NET Dynamic Data Preview 4 :: Compiler error

Tagged Under : , , , , ,

(Italiano → English) View original
Translators:

ASP.NET Dynamic Data Preview 4snjvxks1xen1msqbell2q4gr9nklwifl

E’ uscita la preview di quello che sarà l’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.smfv28vb6ed4v327rk601csgs96rfbav

Peccato che importando le DLL nei progetti web in VS capiti che il progetto non compili più, perchè le DLL contenute nella GAC (quelle originali del framework) contengano le stesse definizioni di metodi e classi di questa nuova versione. E il compilatore – giustamente – s’incazza perchè non sa quale versione utilizzare.szl7nag1wb37qw1e2rhdl8t336kff1px


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

Error    1    Il tipo 'System.Web.DynamicData.FilterUserControlBase' esiste sia in 'c:UsersCaioAppDataLocalTempTemporary ASP.NET Filesxxxf719f7a77b9814d9assemblydl3�57b97ce�007f03e_bcd3c901System.Web.DynamicData.DLL' che in 'c:WindowsassemblyGAC_MSILSystem.Web.DynamicData3.5.0.0__31bf3856ad364e35System.Web.DynamicData.dll'

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.son2k4vymmu98onkpsnag5xahem3thxp


tagPrefix="asp" namespace="System.Web.DynamicData" assembly="System.Web.DynamicData, Version=99.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/;

La soluzione consiste nel modificare la dichiarazione della libreria dynamicdata nel web.config in modo che la versione utilizzata sia quella di codeplex e non quella ufficiale del framework:se3qkl04uhlcpy75w5o29noukmq893vj

e nel sostituire le versioni delle librerie che vogliamo utilizzare da quelle pescate dalla GAC a quelle importate dal nostro progetto.tr915omvkfcfkq6d6czftjphuj3w9s9l

dll

(original) Visualizza English translation

ASP.NET Dynamic Data Preview 4

E’ uscita la preview di quello che sarà l’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 il progetto non compili più, perchè le DLL contenute nella GAC (quelle originali del framework) contengano le stesse definizioni di metodi e classi di questa nuova versione. E il compilatore – giustamente – s’incazza perchè non sa quale versione utilizzare.


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

Error    1    Il tipo 'System.Web.DynamicData.FilterUserControlBase' esiste sia in 'c:UsersCaioAppDataLocalTempTemporary ASP.NET Filesxxxf719f7a77b9814d9assemblydl3�57b97ce�007f03e_bcd3c901System.Web.DynamicData.DLL' che in 'c:WindowsassemblyGAC_MSILSystem.Web.DynamicData3.5.0.0__31bf3856ad364e35System.Web.DynamicData.dll'

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.


tagPrefix="asp" namespace="System.Web.DynamicData" assembly="System.Web.DynamicData, Version=99.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/;

La soluzione consiste nel modificare la dichiarazione della libreria dynamicdata nel web.config in modo che la versione utilizzata sia quella di codeplex e non quella ufficiale del framework:

e nel sostituire le versioni delle librerie che vogliamo utilizzare da quelle pescate dalla GAC a quelle importate dal nostro progetto.

dll

Multiple dbml with same tablesuvitse1sokgzya8yuo5celvbslzktyaaMultiple dbml with same tables

Tagged Under : , , , , , , ,

(Italiano → English) View original
Translators:

diagram dbml 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’interno di un’unico progetto in Visual Studio, per cui ritengo valga la pena scriversi 2 appunti.zacguifdinvn1fbxeo7pzj8wmqq0rvhk

Poniamo il caso in cui sia necessario utilizzare dei database che contengono per caso 2 tabelle uguali, o in cui comunque ci siano gli stessi nomi di tabella, e includerli in un modello LINQ to SQL per riutilizzarli ad esempio con dynamic data.zovlh8rdp5mpvp8k86cwhzwwkm56uplo

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à.zdyge26afgdsdhuqv8itcx03yv7u76tg

Per risolvere questo problema è sufficiente aggiungere un Context Namespace ed un Entity Namespace 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).zrud3e7j5i4v68qr90hvtyaglrohd5om

dbml

Ovviamente sarà necessario scegliere la connessione corretta per gestire il DB relativo al dbml, dichiarata preventivamente nel web.config, e visto che probabilmente vorremo usare il dbml nel progetto, ad esempio con dynamic data, dovremo modificare il global.asax dicendogli di utilizzare il datacontext corretto ed eventualmente registrando le nuove routes.zgx818mgvtvyp0cxw2osowenzzq5rlwe

Un buon articolo su come fare per registrare diverse routes di diversi dbml è disponibile qui.05z3z21dl4m07sy3k4upitjue8tt5246

(original) Visualizza English translation

diagram dbml 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’interno di un’unico progetto in Visual Studio, per cui ritengo valga la pena scriversi 2 appunti.

Poniamo il caso in cui sia necessario utilizzare dei database che contengono per caso 2 tabelle uguali, o in cui comunque ci siano gli stessi nomi di tabella, e includerli in un modello LINQ to SQL per riutilizzarli ad esempio con dynamic data.

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à.

Per risolvere questo problema è sufficiente aggiungere un Context Namespace ed un Entity Namespace 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).

dbml

Ovviamente sarà necessario scegliere la connessione corretta per gestire il DB relativo al dbml, dichiarata preventivamente nel web.config, e visto che probabilmente vorremo usare il dbml nel progetto, ad esempio con dynamic data, dovremo modificare il global.asax dicendogli di utilizzare il datacontext corretto ed eventualmente registrando le nuove routes.

Un buon articolo su come fare per registrare diverse routes di diversi dbml è disponibile qui.

Basta poco…[Errore interno del compilatore: fase 'BIND' ]

Tagged Under : , ,

(Italiano → English) View original
Translators:

Per motivi apparentemente inspiegabili durante la compilazione di un sito web in aspx Visual studio continua a spararmi errori come questo:3r0qv8671wm7t6zvobcs6eii88yac99o


Errore interno del compilatore: fase 'BIND'

Errore interno del compilatore: fase 'COMPILE'

Internal Compiler Error: stage 'BIND'

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.3461gbsxrtcaozy3yhn5qaj5j5bycynq

Basta un pezzo di codice come questo nel page_load di una pagina aspx:355frw01hi3dur77zfqmw9qx1p3l36p7


if (Session["VarToControl"] != "myPersonalValue")
Response.Redirect("/URLRedirect/Page.aspx");

per sollevare il problema, mentre per risolverlo è sufficiente convertire a stringa il valore letto in questo modo:3jokdmc0pzufo14utwuuepewzmir60tc


if (Session["VarToControl"].ToString() != "myPersonalValue")
Response.Redirect("/URLRedirect/Page.aspx");

e come per magia tutto riprende a compilare senza problemi..4vuwyoxrfxlijt213357ylfjajvf6p8e

(original) Visualizza English translation

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 'BIND'

Errore interno del compilatore: fase 'COMPILE'

Internal Compiler Error: stage 'BIND'

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.

Basta un pezzo di codice come questo nel page_load di una pagina aspx:


if (Session["VarToControl"] != "myPersonalValue")
Response.Redirect("/URLRedirect/Page.aspx");

per sollevare il problema, mentre per risolverlo è sufficiente convertire a stringa il valore letto in questo modo:


if (Session["VarToControl"].ToString() != "myPersonalValue")
Response.Redirect("/URLRedirect/Page.aspx");

e come per magia tutto riprende a compilare senza problemi..

Itextsharp horizontal line5s3hns9ng6t1298zq23cv9iof5f1178wItextsharp horizontal line

Tagged Under : , , ,

(Italiano → English) View original
Translators:

iia1

ItextSharp, ottima libreria per la creazione di pdf.
Peccato che ultimamente mi abbia fatto perdere parecchia pazienza per disegnare il più classico elemento che possa trovare in un documento di testo: una linea orizzontale.
7gtx6lwxnjozw77m9mpelp5lddsgr2im

La cosa assurda è che nemmeno in rete si trova materiale utile, la documentazione si riferisce ad un oggetto obsoleto non più utilizzabile in c# (l’oggetto Graphic), e il thread della mailing list a cui si viene rimandati dalla documentazione ufficiale, in cui lo sviluppatore padre del progetto interviene, non è molto chiaro ma soprattutto rende tutto molto più complicato del necessario, tirando in ballo celle di tabella che non semplificano il tutto.83seyh60w5e2iixjaqeslwepsnpnv4j6

Dopo parecchie ricerche e tentativi ho trovato un modo semplice ed efficace per disegnarla, il tutto si fa in poche righe di codice, basta sapere come farlo: :-)8r5ns15enc452clvu5x0jn97vwob3bbt

//crea un document
iTextSharp.text.Document _document = new iTextSharp.text.Document();
//crea un writer
PdfWriter _writer = PdfWriter.GetInstance(_document, new FileStream("C:\file.pdf", FileMode.Create));
//disegna una linea orizzontale
PdfContentByte _cb = _writer.DirectContent;
_cb.MoveTo(_document.Left, (_document.Top - _document.Bottom) - _writer.CurrentDocumentSize);
_cb.LineTo(_document.Right, (_document.Top - _document.Bottom) - _writer.CurrentDocumentSize);
_cb.Stroke();
(original) Visualizza English translation

iia1

ItextSharp, ottima libreria per la creazione di pdf.
Peccato che ultimamente mi abbia fatto perdere parecchia pazienza per disegnare il più classico elemento che possa trovare in un documento di testo: una linea orizzontale.

La cosa assurda è che nemmeno in rete si trova materiale utile, la documentazione si riferisce ad un oggetto obsoleto non più utilizzabile in c# (l’oggetto Graphic), e il thread della mailing list a cui si viene rimandati dalla documentazione ufficiale, in cui lo sviluppatore padre del progetto interviene, non è molto chiaro ma soprattutto rende tutto molto più complicato del necessario, tirando in ballo celle di tabella che non semplificano il tutto.

Dopo parecchie ricerche e tentativi ho trovato un modo semplice ed efficace per disegnarla, il tutto si fa in poche righe di codice, basta sapere come farlo: :-)

//crea un document
iTextSharp.text.Document _document = new iTextSharp.text.Document();
//crea un writer
PdfWriter _writer = PdfWriter.GetInstance(_document, new FileStream("C:\file.pdf", FileMode.Create));
//disegna una linea orizzontale
PdfContentByte _cb = _writer.DirectContent;
_cb.MoveTo(_document.Left, (_document.Top - _document.Bottom) - _writer.CurrentDocumentSize);
_cb.LineTo(_document.Right, (_document.Top - _document.Bottom) - _writer.CurrentDocumentSize);
_cb.Stroke();
Edit translation
Machine translation (Google):
Caricamento...
Copy to editor
or Annulla