Domanda

Stavo programmando con gioia una soluzione di dimensioni adeguate (poco più di 13k LOC, 5 progetti) che utilizza Linq to Sql per l'accesso ai dati.All'improvviso ho eseguito una build normale e ho ricevuto un dolce, dolcissimo messaggio ambiguo:

Errore 1 Compilazione non riuscita a causa di errori di convalida in C:\xxx\xxx.dbml.Apri il file e risolvi i problemi nell'Elenco errori, quindi prova a ricostruire il progetto.C:\xxx\xxx.dbml

Non toccavo il livello di accesso ai dati da settimane e non era stata apportata alcuna modifica al file DBML.Ho provato molti trucchi sconsiderati come ricreare il file di layout, fare copie e aggiungere nuovamente i file esistenti al progetto dopo aver riavviato Visual Studio (in caso di danneggiamento a livello di file);tutto inutilmente.

Ho dimenticato di indossare i miei talismani di Visual Studio Skills +5, quindi ho iniziato a cercare in giro e l'unica risposta sensata che ho trovato è stata reimpostare i miei pacchetti perché Visual Studio non caricava correttamente un assembly.Dopo aver corso"devenv.exe/resetskippkgs" Sono riuscito, infatti, ad aggiungere nuovamente il file dbml al progetto DAL e ricostruire la soluzione.

Sono felice che il problema sia stato risolto, ma preferirei anche acquisire una comprensione più profonda da questa esperienza. Qualcuno sa come o perché ciò accade in Visual Studio 2008?

Nuova modifica:30/10/2008 NON È QUESTA UNA COSA CHE MI È APPENA ACCADITA.Rich Strahl ha recentemente scritto sul suo "web log" circa la stessa esperienza.Si collega a un altro blog con lo stesso problema e utilizzato la stessa azione.

Ho riscontrato questo problema alcune volte anche da questo post originale, facendomi pensare che non si tratti di un problema casuale.Se qualcuno trova la risposta definitiva è pregato di postarla.

È stato utile?

Soluzione

TBH, ho avuto un paio di casi come questo in cui i file "sembravano impazzire".Tuttavia, dalle indagini è emerso che i file sono cambiati in qualche modo, forma o forma...(per esempio.a volte è possibile apportare modifiche al file modificando inavvertitamente una proprietà da qualche parte sembra non correlati).

Penso che ci siano troppi possibili problemi che potrebbero davvero causare questo e, in base al fatto che il problema è stato risolto, sembra che non sarà trovata una risposta.

Altri suggerimenti

Dopo aver installato Phalanger per Visual Studio 2008, ho tentato di creare una nuova applicazione PHP WinForms.La creazione del progetto non è riuscita con un messaggio di errore simile, indicante che non è stato possibile caricare una DLL richiesta (Impossibile caricare il file o l'assembly...).L'esecuzione del comando devenv.exe /resetskippkgs nel Command Promtp di Visual Studio 2008 ha risolto immediatamente il problema.

Grazie per le informazioni.

Ottengo questo errore anche quando provo a compilare il livello di accesso ai dati nella seconda soluzione (programma di installazione).Quello che faccio è eseguire Custom Tool sul file dbml e questo lo fa.

In realtà non ci sono errori nel file dbml che debbano essere corretti.

La mia teoria al riguardo è che Visual Studio memorizza nella cache la versione compilata del file dbml e che la cache non è valida per altre soluzioni.Immagino che l'esecuzione di /resetskippkgs faccia la stessa cosa della ricompilazione del file dbml.

Comunque non c'è ancora una soluzione a questo?

Ho riscontrato lo stesso problema in VS 2010 (build non riuscita a causa di errori di convalida nel file dbml).Ho risolto questo problema visualizzando la vista di progettazione del file dbml e trascinando leggermente una tabella in una posizione diversa in modo da aggiornare i file di layout dbml ecc.Questo sembrava funzionare, ma era un problema un po' strano.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top