2012-06-22 17 views
7

Abbiamo recentemente aggiornato a VS2010 (10.0.40219.1 SP1Rel) e alle regole ILOG per .net 7.1.1.4 (x64). Ora può verificarsi quanto segue:I riferimenti di progetto sono caduti dopo il debug

  1. Aprire una soluzione.
  2. Eseguire il debug di un progetto
  3. Arresta il debug.
  4. Chiudi un file (finora: app.Config e Program.cs)
  5. Guarda la finestra di notifica "Regole di refactoring".
  6. Gasp in horror quando il primo riferimento al progetto di ogni file rulep viene eliminato.

Questo succede con soluzioni di grandi dimensioni (~ 60 csproj con ~ 15 punti). Questo succede con soluzioni più piccole (6 csproj con 1 rulep).

Abbiamo iniziato a prendere misure estreme di dev per evitare il droppamento dei riferimenti (scarica tutti i rulep quando si esegue il debug e si chiude/riapre VS2010 dopo il debug).

C'è qualcosa nei nostri progetti o nella configurazione del software che possiamo modificare per impedire la caduta dei riferimenti del progetto?


Aggiornamento: mentre sono impegnati il ​​debugger è un modo affidabile per ottenere le "regole di refactoring/riferimento dropping" problema si verifichi, succede anche di tanto in tanto solo con la chiusura di un file - senza utilizzare il debugger.


ho vinto il primo premio, e sono disposto a creare una seconda taglia, se qualcuno esce con una risposta che può essere accettato.


Soluzione: Abbiamo tre file di soluzione

  1. un file di soluzione con tutto ciò che contiene per il server di build.
  2. Un file di soluzione con solo il rulep e le loro dipendenze. Gli sviluppatori lo costruiscono una volta per ottenere .dll per il rulep.
  3. Un file di soluzione che non contiene progetti di righello. I progetti che richiedono una dll di rulep hanno un evento di pre-build che copia la DLL nella loro cartella e un riferimento all'assembly a quella posizione. Era necessario un po 'di manipolazione per consentire sia la compilazione di debug che di rilascio.

Gli sviluppatori possono eseguire correttamente il debug di questa terza soluzione che non dispone di file di riepilogo per il VS.

+0

Quale framework .Net stai utilizzando? .Net 4? .Net 4 profilo cliente? – Bob

+0

Siamo .net4 (come richiesto da ILOG 7.1.1.4) - Mi sono assicurato che nessun progetto sia mirato .net4cp –

+0

Questa DLL è costruita durante una compilazione? In altre parole, è una DLL di terze parti o una che viene creata dal team? –

risposta

1

In ogni caso, solo per avere più controllo sul problema, forse puoi mettere i tuoi progetti/soluzioni sotto il controllo del codice sorgente e configurare Visual Studio in modo da chiedere l'autorizzazione per il check-out di qualsiasi file?
Quindi ti verrà chiesto quando qualcosa tenta di modificare il riferimento del progetto (o qualsiasi altro file sotto il controllo del codice sorgente) e avrai la possibilità di rifiutare qualsiasi modifica indesiderata.

Non so nulla su "ILOG Rules For .net" e dove/come memorizza la sua configurazione delle regole, quindi forse questo approccio non funzionerà nella vostra situazione. Se questo è il caso, per favore ignora la mia risposta.

+0

Questo è di grande aiuto. Il mio team ha discusso la protezione del control source e le copie del disco locale da eventuali danni. Anche con i file readeply, VS è ancora un orso con cui lavorare. –

+0

VS è molto soggetto a incidenti ...: - | e spesso fai cose strane ... hai provato a disabilitare qualsiasi estensione/estensione VS eventualmente installata? Forse c'è qualche incompatibilità tra le regole di ILOG per .net e alcuni componenti installati/libreria/addon ... – Max

+0

Questa è stata la nostra prima reazione. Abbiamo osservato il comportamento prima durante il debug con VisualNUnit. Lo ha gettato fuori prima di averlo realizzato in generale. Ora non è rimasto nulla da disinstallare tranne VS2010 o ILOG. –

0

Ho familiarità con i file rulep - ma considera l'utilizzo di Procmon con alcuni filtri per scoprire esattamente quale processo sta cestinando i tuoi file. Spero che questo ti dia qualche altro indizio.

Nota questo probabilmente non ti aiuterà a restringere il colpevole se si tratta di un plugin per lo studio visivo che utilizza le API di automazione Visual Stuido.