2015-06-03 4 views
6

Scusate se questo non è il posto giusto per pubblicare questo tipo di domanda ... se deve essere su un altro sito, fatemelo sapere o sentitevi liberi di chiudere.biforcato un progetto ma che cos'è .pp?

Ho una semplice domanda su github. Sono molto nuovo ad esso e ho "biforcato" un progetto a cui volevo contribuire.

Poi l'ho clonato localmente e ci sono "dentro" per guardarlo. Ho notato che i file .cs avevano un'estensione aggiuntiva .pp, qual è lo scopo? Quindi invece di Agent.cs il suo Agent.cs.pp.

Inoltre, come i progetti come questo one gestiscono il lato .net. Voglio dire, vedo i file html e i file .js. Ma i file .net (cs) non includono un progetto o una soluzione ad essi associati. Si presentano sotto forma di .cs.pp. Se volessi modificare questi file, dovrei creare un nuovo progetto e aggiungerli al mio progetto?

Ci scusiamo per la domanda per principianti di github ma sono abbastanza nuova anche se uso Subversion.

risposta

8

Il file di origine C# è pre-elaborato (pp) per NuGet. Vedi Configuration and source code transformation (NuGet).

Specificare una trasformazione del codice sorgente includendo le proprietà del progetto Visual Studio nel codice. Le proprietà sono delimitate utilizzando i simboli del dollaro ($).

Quando si aggiunge il codice da NuGet a un progetto VS, sostituirà tali proprietà, generando così codice compilabile.

Nell'esempio LSCK hai fornito, il risultato dopo aver aggiunto il riferimento NuGet è:

LSCK in Solution Explorer

Confrontando i file su GitHub a quelli locali, ci si accorge che .cs.pp è stato convertito a .cs e $rootnamespace$ all'interno del codice è stato sostituito dallo spazio dei nomi del progetto.

di contribuire, è possibile creare tali file da soli: in senso opposto (.cs ->.cs.pp) può essere realizzato utilizzando NuGetContentGenerator.

+0

Indovina, non sono sicuro di dove andare da qui, questo significa che se volessi modificare i file .cs.pp ho bisogno di renderli file .cs? – JonH

+0

Se si desidera mantenere il progetto (questo è probabilmente il motivo per cui lo si è forgiato), i file dovrebbero rimanere .cs.pp. Se si desidera utilizzare solo il progetto (non è necessario sostituirlo), aggiungere il riferimento NuGet a un nuovo progetto di Visual Studio. Se vuoi entrambi e prova le tue modifiche locali, non sono un esperto, ma un server NuGet locale potrebbe aiutarti (http://stackoverflow.com/questions/14527615/can-i-publish-a-private-nuget-package) –

+0

In realtà io sono un idiota, questi file si trovano nella cartella demo, lì ho potuto vedere i file reali come .cs. – JonH