2014-12-12 19 views
6

Vogliamo condividere .DotSettings tra diverse soluzioni. L'obiettivo è di avere unoCodeStyle.DotSettings che facciamo riferimento come livello in tutto il nostro X.sln.Dotsettings. Tuttavia, sto vedendo un comportamento inaspettato quando aggiungo il livello.Come utilizzare i percorsi relativi nei layer ReSharper DotSettings

Vado a "Gestisci opzioni", tasto destro "Soluzione X team condiviso" -> "Aggiungi livello" -> "Apri file impostazioni", selezionare CodeStyle.DotSettings e fare clic su "Apri".

ho quindi ispezionare X.sln.DotSettings, e vedo due riferimenti, uno che utilizza un percorso assoluto, e una con un parente:

<s:String x:Key="/Default/Environment/InjectedLayers/FileInjectedLayer/=3BE2D8150433584697322AAD3C173856/AbsolutePath/@EntryValue">C:\path\to\my\repo\CodeStyle.DotSettings</s:String> <s:String x:Key="/Default/Environment/InjectedLayers/FileInjectedLayer/=3BE2D8150433584697322AAD3C173856/RelativePath/@EntryValue">..\CodeStyle.DotSettings</s:String>

Il check-in un percorso assoluto al mio repository locale non ha senso, così ho prova a rimuovere quella linea da X.DotSettings, ma non viene più visualizzata nella finestra di dialogo "Impostazioni livelli". Il percorso relativo sembra sospetto con i suoi punti principali, quindi provo a rimuovere ..\ da esso, ma non viene ancora visualizzato in "Livelli delle impostazioni".

Cosa sto sbagliando?

Stiamo usando ReSharper 8.2.3

risposta

9

vedere la questione corrispondente inseguitore JetBrains': RSRP-339002.

Non rimuovere nulla: ReSharper tenta di caricare il file da entrambi i percorsi, pertanto è necessario procedere. Negli ultimi due anni ho utilizzato una configurazione simile (DotSettings condivisi e con versioni diverse tra più soluzioni) senza problemi.

Non è possibile rimuovere il percorso assoluto: è utilizzato come chiave. Puoi ancora votare per il problema. Personalmente non mi piace avere un percorso assoluto in un file controllato da fonti, anche se in questo caso non fa male.

Per quanto riguarda l'extra leader ..\, osservo lo stesso comportamento. Non ho idea del perché; forse il percorso è relativo alla cartella della cache piuttosto che alla cartella della soluzione? Ad ogni modo, è assolutamente necessario.

+0

D'accordo, questo è fonte di confusione. Ho commentato e votato per il problema ora. – knatten

6

R # mantiene i percorsi sia assoluti che relativi per adattarsi a tutti gli scenari per l'utilizzo dei livelli di file iniettati. Il percorso relativo funziona per le soluzioni ospitate dal controllo sorgente con il file del livello iniettato, anch'esso archiviato allo stesso controllo del codice sorgente. Il percorso assoluto funziona per l'iniezione di un file da una risorsa esterna, come un percorso globale sulla macchina o una condivisione di rete in caso di una soluzione controllata da fonti.

Il percorso assoluto è attualmente obbligatorio. Principalmente per ragioni storiche. Questo può probabilmente essere cambiato in "richiede uno dei due".

Il percorso relativo è relativo al file del disco del livello host in cui è stato iniettato. Nel tuo caso è il file .sln.DotSettings. Perché, avrebbe dovuto essere la sua cartella, invece, ma mi mancava la cosa .Parent durante l'implementazione! E non era emerso durante il test o il programma beta. Come, ha funzionato per percorsi relativi, e nessuno si è preso la briga di contare i raddoppiati fino ad ora% -)

+0

Il percorso UPD abs non sarà più obbligatorio, la prossima release (wave02) supporterà i livelli iniettati solo rel-path. – hypersw

Problemi correlati