3.2 KiB
Analisi DataSetS174
Problema Riscontrato
Il file DataSetS174.xsd
contiene una definizione di dataset che corrisponde a DataSetS173
. Questo causa errori di compilazione dovuti a duplicazione di codice, in quanto Visual Studio genera lo stesso codice due volte.
Dettagli Tecnici
- File coinvolti:
DataSetS174.xsd
- Contiene identificatori diDataSetS173
DataSetS174.Designer.cs
- Contiene codice generato duplicatoDataSetS173.xsd
- File originaleDataSetS173.Designer.cs
- File originale
Causa Probabile
La situazione sembra essere il risultato di un tentativo incompleto di creare un nuovo DataSet (S174) partendo da S173 come template:
- È stato copiato il file S173.xsd rinominandolo in S174.xsd
- Non sono stati modificati gli identificatori interni nel file:
id="DataSetS173"
Generator_DataSetName="DataSetS173"
- Altri riferimenti a S173
- Il file è stato committato in questo stato incompleto
Possibili Soluzioni
-
Rimozione di S174
- Rimuovere tutti i file relativi a S174 se il dataset non è effettivamente necessario
- Files da rimuovere:
- DataSetS174.xsd
- DataSetS174.Designer.cs
- DataSetS174.xsc
- DataSetS174.xss
-
Correzione di S174
- Se serve effettivamente un nuovo DataSet S174:
- Modificare tutti gli identificatori interni da S173 a S174
- Aggiornare eventuali riferimenti nelle tabelle e nelle colonne
- Rigenerare il codice del Designer
- Se serve effettivamente un nuovo DataSet S174:
Impatto
La risoluzione di questo problema eliminerà gli errori di compilazione:
- Attributi duplicati (CS0579)
- Membri duplicati (CS0102)
- Definizioni duplicate (CS0111)
Note
Analisi Estesa
L'analisi è stata estesa ad altri DataSet del progetto, rivelando problemi simili:
-
DataSetS175.xsd:
- Usato per i dettagli dei prodotti protetti Blue/White
- Aveva lo stesso problema di S174: conteneva riferimenti a S173
- È stato corretto aggiornando tutti i riferimenti da S173 a S175
-
DataSetS177.xsd:
- Usato per il profilo di rischio e adeguatezza MIFID2
- Conteneva riferimenti al namespace di S151
- È stato corretto aggiornando il namespace da S151 a S177
-
DataSetS172.xsd e DataSetS172Bis.xsd:
- Usati per la piramide tutela del Capitale protetto
- Entrambi usavano il namespace di S133
- Sono due versioni dello stesso DataSet per gestire diversi tipi di prodotti (Italfund e Fonditalia)
- Sono stati corretti aggiornando il namespace da S133 a S172
Soluzione Applicata
Per ogni DataSet problematico:
- Sono stati corretti i riferimenti nei file .xsd
- È stato rigenerato il codice Designer.cs usando "Esegui strumento personalizzato" in Visual Studio
Pattern Identificato
È emerso un pattern comune:
- I DataSet venivano spesso creati copiando file esistenti
- Durante la copia, non sempre venivano aggiornati tutti i riferimenti interni
- Questo causava problemi di namespace e duplicazione del codice generato
Raccomandazioni
-
Quando si crea un nuovo DataSet, usare il template di Visual Studio invece di copiare file esistenti
-
Se si deve copiare un DataSet esistente, verificare sempre di aggiornare:
- L'attributo
id
dello schema - Il
targetNamespace
e tutti i riferimentixmlns
- L'attributo