2010-08-07 14 views

risposta

10

In Tools > Options > Projects and Solutions > General, c'è una casella di controllo, etichettata "Always show solution".

Con questa opzione selezionata, l'apertura di un progetto dall'interno della struttura di cartelle di una soluzione aprirà comunque l'intera soluzione. Se si fa clic solo sul progetto, credo che l'IDE trovi la soluzione semplicemente attraversando le directory padre per il file .sln.

Il motivo dico che è perché se si copia nella directory che contiene un singolo progetto e incollarlo da qualche altra parte, quindi fare doppio clic su di esso, il progetto viene aperto da solo (ancora all'interno di una soluzione, ma una temporanea, che esiste solo come file .suo per ora (finché non si salva la soluzione.))

Quindi siamo a metà strada. Ora, se si deselezionare l'opzione di cui ho parlato all'inizio del mio post, si vedrà il progetto open da solo in questo modo:

alt text

Sono d'accordo che dovrebbe essere possibile aprire un progetto senza soluzione (e che dovrebbe essere più semplice di quanto non sia attualmente.) Direi che VS dovrebbe anche darti la possibilità di creare ed eseguire facilmente i programmi in un singolo file senza tutti i progetti di hand-holding e di creazione e soluzioni per te. Forse puoi, ma se è così - non è ovvio.

+0

Stai dicendo che trova la soluzione eseguendo la scansione dell'albero delle directory. – SLaks

+0

Va bene, forse no ma ci sono molti modi in cui potrebbe trovarlo. Sembrava ovvio perché se si copia il progetto lontano dalla soluzione, non trova più la soluzione. – Nobody

+0

In realtà, sospetto che sia vero. – SLaks

0

I progetti sono collegati a soluzioni; non è possibile aprire un progetto senza la sua soluzione padre.

Altrimenti, cose come i riferimenti ai progetti non funzionerebbero.

+0

Non vedo questo. Mi aspettavo che il file della soluzione contenga un elenco di progetti contenuti nella soluzione e che il progetto potesse essere contenuto in una o più soluzioni. Quando ho aperto il file sln, ho pensato di vedere una lista di progetti. Quando ho aperto il file csproj, non ho visto alcun riferimento alla soluzione. Non sono nemmeno sicuro di come il file csproj punta al file sln originale. Cosa accadrebbe se il progetto fosse contenuto in più soluzioni? Non ha senso per me. – ChadD

+0

@Velika: la soluzione si riferisce al progetto, non il contrario. Se apri il file '.sln' in un editor di testo, puoi vedere linee come:' Progetto ("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Progetto1", "Soluzione1 \ Progetto1.csproj", "{6594D860-E1A1-4E24-8A32-D0ED89B04D65}" EndProject'. Questi dicono alla soluzione quali progetti caricare e da dove. Ora se guardi all'interno del testo di '.csproj', non troverai alcun riferimento a nessuna soluzione, MA una delle soluzioni contenenti quel progetto verrà aperta quando fai clic su di essa. Quindi puoi effettivamente avere lo stesso progetto in più di una soluzione. – Nobody

+1

HAI detto ... "MA una delle soluzioni contenenti quel progetto verrà aperta quando si fa clic su di esso ..." Come trova il file di colution? E perché dovrebbe preoccuparsi di cercarne uno? – ChadD

1

Forse perché hai "Apri la soluzione più recente" in Opzioni?

1

Forse era un file di soluzione (sln), erroneamente etichettato come file di progetto C# (csproj). Se apri il file in un editor di testo vedrai riferimenti ad altri progetti, come in un file di soluzione.

+0

Questo non risponde alla domanda. – SLaks

Problemi correlati