Visio for Enterprise Architects on Vista X64 (VS2008 installed)0o8mviqc2mk1txjpuxpcqqpd7846k5lkVisio for Enterprise Architects on Vista X64 (VS2008 installed)

Tagged Under : , , , , , ,

(Italiano → English) View original
Translators:

Chiunque conosca Visio for enterprise Architects sa quanto possa essere comodo uno strumento del genere quando si deve progettare lo schema ER di un database di medie dimensioni (>= 20~40 tabelle), impostando le relazioni, le azioni da compiere sugli aggiornamenti e tutto ciò che si fa durante la creazione di un DB, per non parlare di quanto tempo si possa risparmiare generando automaticamente la controparte fisica dello 5m4d9epv8tktohkb2jsao7b85qevy21wschema1 sfruttando il driver odbc che ne consente l’integrazione con un gran numero di database.5m0df2r6htawxtx6gid8yfnxoc12gvw6

Purtroppo allo stato attuale pare non essere ancora disponibile alcuna versione aggiornata di questa particolare versione  di Visio, che tra i prerequisiti necessita di nientepocodimenochè di VS2005, per cui doverlo installare su una macchina di sviluppo su cui magari sono già installati altri IDE può diventare davvero esoso in termini di spazio richiesto, per non parlare del fatto che di quella istanza di VS2005 non ce ne faremmo nulla e generalmente la cosa può infastidire un 6es8ssupwxt2jcp974acwi7mw4ycstmkpo..6rp5g4vylzk4c3lbkx9dckhyi0f0ysgr

Fortunatamente c’è la possibilità, con un piccolo trick, come si fa per l’installazione sotto XP, di installare il tutto senza *davvero* installarsi anche Visual Studio 2005, ma semplicemente facendo credere all’installer che ciò che cerca ci sia veramente e che quindi si possa procedere oltre.64hozkrfuca78el4bspwyuw85xq6vc5q

E’ bene specificare che, affinchè il tutto funzioni è necessario che sulla macchina sia installato VS2008, visto che il giochino delle chiavi si basa proprio su quelle create dopo l’installazione di questa versione2.630v2l4flszai8zk5ggzailk0jbva1ay

Quello che bisogna fare, su Vista X64, è:6409d6cibgqdo08o5djhghtci32i29bf

  1. Esportarsi separamente le 2 chiavi di registro:75mun4vcjlhguaicmzr4nvdrdosorcmu
    Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Visual Studio\9.0
    
    Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Visual Studio\8.0
    

    (Se la chiave 8.0 non è presente non è importante, la importeremo noi al punto successivo)77m8yq3f998j02rgnxultvljv8kcjjob

  2. A questo punto ci si crea una copia della chiave 9.0 e la si mette da parte, perchè ci servirà come ultimo punto.7w1wy77lg4zlhcb1uavdmdb3ygoh05m5
  3. Successivamente si apre il file contenente la chiave 9.0 con il notepad, e si sostituiscono tutte le istanze della stringa “9.0″ con “8.0″.7y1a9sfo6tqon3k4u7xusdjvg0f5rcnn
  4. Fatto questo si reimporta la chiave di registro appena modificata, e da questo momento in avanti l’installazione di Visio for Enterprise Architects procederà senza problemi fino alla fine convinto che tutti i componenti siano installati come lui si aspetta.7mqc5z5cekgr7e7vyyaxpp0p79gb2o5c
  5. Una volta terminata l’installazione, onde evitare inutili attacchi di panico da parte di windows dovuto a situazioni non previste nel registro, è necessario ripristinare la condizione precedente alla modifica ripristinando le chiavi furbescamente modificate.Per farlo è sufficiente reimportare le 2 chiavi esportare inizialmente, facendo chiaramente attenzione a importare la copia originale della chiave 9.0 che avevamo ci si era creati subito dopo l’esportazione.8mncan7mnj6ufqjqcxvvzycfpv2hli0m
  1. tipicamente in mssql []8bp78hmiduxxyi5wzz1suvgm4355yy8e
  2. i più intrepidi potrebbero provare un’installazione importando delle chiavi generate da altri pc, prerequisiti per il funzionamento a parte (che potrebbero far crashare il programma in esecuzione) l’installazione potrebbe terminare con successo []8a8ebizj5am07cjctnsw6j6yzppuendl
(original) Visualizza English translation

Chiunque conosca Visio for enterprise Architects sa quanto possa essere comodo uno strumento del genere quando si deve progettare lo schema ER di un database di medie dimensioni (>= 20~40 tabelle), impostando le relazioni, le azioni da compiere sugli aggiornamenti e tutto ciò che si fa durante la creazione di un DB, per non parlare di quanto tempo si possa risparmiare generando automaticamente la controparte fisica dello schema1 sfruttando il driver odbc che ne consente l’integrazione con un gran numero di database.

Purtroppo allo stato attuale pare non essere ancora disponibile alcuna versione aggiornata di questa particolare versione  di Visio, che tra i prerequisiti necessita di nientepocodimenochè di VS2005, per cui doverlo installare su una macchina di sviluppo su cui magari sono già installati altri IDE può diventare davvero esoso in termini di spazio richiesto, per non parlare del fatto che di quella istanza di VS2005 non ce ne faremmo nulla e generalmente la cosa può infastidire un po..

Fortunatamente c’è la possibilità, con un piccolo trick, come si fa per l’installazione sotto XP, di installare il tutto senza *davvero* installarsi anche Visual Studio 2005, ma semplicemente facendo credere all’installer che ciò che cerca ci sia veramente e che quindi si possa procedere oltre.

E’ bene specificare che, affinchè il tutto funzioni è necessario che sulla macchina sia installato VS2008, visto che il giochino delle chiavi si basa proprio su quelle create dopo l’installazione di questa versione2.

Quello che bisogna fare, su Vista X64, è:

  1. Esportarsi separamente le 2 chiavi di registro:
    Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Visual Studio\9.0
    
    Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Visual Studio\8.0
    

    (Se la chiave 8.0 non è presente non è importante, la importeremo noi al punto successivo)

  2. A questo punto ci si crea una copia della chiave 9.0 e la si mette da parte, perchè ci servirà come ultimo punto.
  3. Successivamente si apre il file contenente la chiave 9.0 con il notepad, e si sostituiscono tutte le istanze della stringa “9.0″ con “8.0″.
  4. Fatto questo si reimporta la chiave di registro appena modificata, e da questo momento in avanti l’installazione di Visio for Enterprise Architects procederà senza problemi fino alla fine convinto che tutti i componenti siano installati come lui si aspetta.
  5. Una volta terminata l’installazione, onde evitare inutili attacchi di panico da parte di windows dovuto a situazioni non previste nel registro, è necessario ripristinare la condizione precedente alla modifica ripristinando le chiavi furbescamente modificate.Per farlo è sufficiente reimportare le 2 chiavi esportare inizialmente, facendo chiaramente attenzione a importare la copia originale della chiave 9.0 che avevamo ci si era creati subito dopo l’esportazione.
  1. tipicamente in mssql []
  2. i più intrepidi potrebbero provare un’installazione importando delle chiavi generate da altri pc, prerequisiti per il funzionamento a parte (che potrebbero far crashare il programma in esecuzione) l’installazione potrebbe terminare con successo []

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

Tagged Under : , , , , ,

(Italiano → English) View original
Translators:

ASP.NET Dynamic Data Preview 4dkow1i1ztbmsre8hvtxkhg81ckn136wk

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

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


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


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:ezc7btgwq1k37k2d0i40pydji73p2zit

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

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 tablesft1my00011fq2epiu8bp3j9yjh3i3rgcMultiple 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.kmheh5nbumwerhd9vqxbwoytsxnykpxg

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

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

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).k19pnrzyic4mycuangjstyrnfzhf1poe

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

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

(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:oezsqq2iwjly9ssxvbgfjvfxjsfqafc2


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

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


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:ph7dk7b82gt7s5letg063nsjqimpfs0d


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

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

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

Edit translation
Machine translation (Google):
Caricamento...
Copy to editor
or Annulla