Errore NuGet NU1011

Centrally defined floating package versions are not allowed.

Problema

<PackageVersion /> gli elementi non possono contenere versioni mobili. La gestione centrale dei pacchetti (CPM) di NuGet è considerata una funzionalità a livello aziendale che offre una gestione delle versioni più semplice su larga scala, nonché ripristini deterministici e sicuri. L'uso di versioni mobili introduce la possibilità che un pacchetto non valido venga introdotto nella compilazione dopo che è stato eseguito il push in un feed. Ciò può causare una situazione in cui non sono state apportate modifiche nel repository, ma improvvisamente qualcosa è interrotto e non è possibile tornare in uno stato corretto senza rimuovere la versione mobile o eseguire il push di una versione più recente del pacchetto che è stato risolto. L'uso di versioni non mobili significa che ogni aggiornamento a un pacchetto è supportato da un commit nel repository, rendendo più semplice determinare quale modifica ha causato l'interruzione e ripristinare un commit per tornare in uno stato valido.

La funzionalità di aggiunta transitiva è progettata per consentire di eseguire in modo esplicito l'override delle versioni transitive nel grafico per un maggiore controllo. L'uso di una versione mobile come override potrebbe eseguire ripristini di progetti diversi con versioni diverse per il pacchetto che dovrebbe essere aggiunto, quindi contro la promessa di usare la versione centrale.

NuGet consiglia di usare l'automazione come Dependabot per mantenere aggiornate le versioni dei pacchetti, che offre un modo semplificato per mantenere aggiornati i pacchetti durante l'integrazione nel flusso di lavoro per sviluppatori esistente di una richiesta pull, la convalida automatizzata della compilazione e il test supportati da un commit nel repository.

Soluzione

Modificare la versione mobile in un intervallo di versioni non mobile.