Sto costruendo un sito Web di ASP.NET Web Form utilizzando .NET 4.5.La definizione del tipo esiste in due librerie
L'errore ...
The type 'System.ComponentModel.DataAnnotations.Schema.ForeignKeyAttribute' exists in both 'f:\Projects\web sites\RC1Iteration05\packages\EntityFramework.5.0.0\lib\net40\EntityFramework.dll' and 'c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.ComponentModel.DataAnnotations.dll'
ho cercato di alias le librerie utilizzando ...
csc /r:EF_DataAnnotations="f:\Projects\web sites\RC1Iteration05\packages\EntityFramework.5.0.0\lib\net40\EntityFramework.dll" /r:CM_DataAnnotations="c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.ComponentModel.DataAnnotations.dll"
ma questo ha portato solo in "No file di origine specificato" che è altrettanto confusa perché i file sorgente sono stati specificati come diretti (here & here).
Ho notato che l'errore stava facendo riferimento alla DLL EF nella cartella net40 piuttosto che nella cartella net45. Immagino che se usassi la versione net45 il problema si risolvesse da solo, tuttavia non so come cambiare quel riferimento. Ho modificato l'attributo "targetFramework" al pacchetto EntityFramework nel file packages.config, ma ciò non ha fatto alcuna differenza.
Sono un po 'bloccato perché entrambe le soluzioni non sembravano fare nulla.
Mi sono guardato intorno e ho trovato una serie di post qui dove la gente ha affrontato problemi simili ma non ha ricevuto risposte. Spero che ci sia qualcuno là fuori che può aiutare!
Grazie
G
L'opzione '/ r' si applica solo quando si sta effettivamente compilando qualcosa sulla riga di comando. – SLaks
Quindi NON faccio mai la riga di comando. Ho pensato che stavo compilando una nuova libreria alias? Se no allora, cosa stava cercando di fare? –
No. Gli alias consentono semplicemente di fare riferimento all'assembly di riferimento utilizzando un nome diverso nei file di origine. – SLaks