es

pcpm convert

Migra una solución existente a un workspace de PCPM.

pcpm convert [options]

pcpm convert es un comando de migración one-shot. Toma una solución .NET existente (con o sin Central Package Management) y la convierte en un workspace de PCPM.

Qué hace

  1. Recorre el workspace, recogiendo cada <PackageReference />.
  2. Adopta tu Directory.Packages.props existente si lo tienes; si no, crea uno.
  3. Elimina Version="…" de cada <PackageReference /> y escribe la versión como <PackageVersion /> en CPM.
  4. Escribe pcpm.json.
  5. Con --workspace, escribe pcpm-workspace.yaml cubriendo todos los proyectos.
  6. Ejecuta pcpm install para materializar el store y escribir pcpm.lock.

Opciones

FlagEfecto
--workspaceEscribe también pcpm-workspace.yaml.
--no-installSalta el pcpm install implícito.
--no-cpmNo crea ni toca Directory.Packages.props.
--forceRe-ejecuta aunque pcpm.json ya exista.
--backupHace snapshot de cada fichero modificado a pcpm-convert.bak/ antes de editar.

Ejemplos

# Migración estándar
pcpm convert

# Migración de monorepo
pcpm convert --workspace

# Migración que no cambia el lockfile
pcpm convert --no-install

Qué no cambia

pcpm convert es conservador. No hace lo siguiente:

  • Toca nada más allá de los ficheros descritos arriba.
  • Actualiza versiones de paquetes. Normaliza lo que tienes.
  • Cambia la configuración de tus feeds NuGet.
  • Modifica el grafo de build ni las propiedades.

Rollback

pcpm convert es amigable con git. El conjunto completo de cambios es visible en git status:

git status
# On branch main
# Changes to be committed:
#   new file:   pcpm.json
#   modified:   Directory.Packages.props
#   modified:   src/Api/Api.csproj
#   ...

Para revertir:

git restore .

Si usaste --backup, los originales están en pcpm-convert.bak/ y se pueden restaurar a mano.

Véase también