Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
fe7301f
fix(slnx): use canonical Platform mapping for SwAddIn x64
JaviFRx May 28, 2026
8862985
feat(web): add Home page with full product documentation
JaviFRx May 29, 2026
4290385
feat(admin): add HomeView with product documentation
JaviFRx May 29, 2026
a24804c
fix(admin): replace invalid PackIconMaterial Kind names in HomeView
JaviFRx May 29, 2026
a5260c0
feat(admin): navigate to Home on app startup
JaviFRx May 29, 2026
a16c791
feat(storage): add centralized StorageOptions configuration
JaviFRx May 29, 2026
76d290c
feat(admin): add group management to Security Settings
JaviFRx May 29, 2026
b603aaa
feat(admin): user edit page with group access control
JaviFRx May 29, 2026
ab22d98
feat(project): add ModelsPath field to Project
JaviFRx May 29, 2026
e71fa1f
feat(admin-wpf): user group access control in Edit User dialog
JaviFRx May 29, 2026
c68b173
refactor(admin): rename GroupWorkspace (project containers)
JaviFRx May 29, 2026
ac6f2f7
fix: remove UseWindowsForms, fix type ambiguities and LoadGroupsComma…
JaviFRx May 29, 2026
0e2e2a1
fix: migrate active-group.json to active-workspace.json on first launch
JaviFRx May 29, 2026
1d50aa2
fix: fill empty AddProjectModelsPath migration
JaviFRx May 29, 2026
0aad32a
feat(groups): group project access control
JaviFRx May 29, 2026
9e59762
fix(admin-wpf): remove orphan XML after </Window> in WorkspaceEditDialog
JaviFRx May 29, 2026
eef97ed
fix(api): bind service to port 5140 via appsettings Urls
JaviFRx May 29, 2026
1752e69
feat(usergroups): UserGroup CRUD — entity, repo, API, WPF UI
JaviFRx Jun 1, 2026
a605501
fix(admin): expose group-load errors in user create/edit dialogs
JaviFRx Jun 1, 2026
a38b1dc
refactor(security): replace roles with group-based project access
JaviFRx Jun 1, 2026
a81224a
fix(admin): remove stale Role property from GroupMembershipItem initi…
JaviFRx Jun 3, 2026
da28fe2
feat(admin): add project access tab to GroupEditDialog
JaviFRx Jun 3, 2026
a7f5fe0
fix: corregir encoding UTF-8 en XAML (símbolos extraños en UI)
JaviFRx Jun 3, 2026
285f1e3
fix: Eliminar referencia a launch.json inexistente en NexusCad.Web.es…
JaviFRx Jun 3, 2026
3f16e8c
fix: Eliminar PublishProfileName de NexusCad.Web.esproj para corregir…
JaviFRx Jun 3, 2026
6808ec9
chore(deps): Bump Swashbuckle.AspNetCore from 7.2.0 to 10.2.1
dependabot[bot] Jun 3, 2026
ed6f875
fix: Add launch configuration files for NexusCad.Web project
JaviFRx Jun 3, 2026
c152356
fix(web): Resolver error de implementación en VS2026
JaviFRx Jun 3, 2026
4bf2394
fix(web): Eliminar launch.json y configuración incorrecta de esproj
JaviFRx Jun 3, 2026
8d32a24
docs: Agregar instrucciones urgentes y script de ejecución directa
JaviFRx Jun 3, 2026
9ec03e8
Merge fix-pr98: Agregar instrucciones y scripts para ejecutar web cor…
JaviFRx Jun 3, 2026
9c63321
fix(api): adapt Swashbuckle to Microsoft.OpenApi 2.x namespace
JaviFRx Jun 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 78 additions & 0 deletions CleanVSCache.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Script para limpiar caché de Visual Studio 2026 y resolver problemas de implementación
Write-Host "========================================" -ForegroundColor Cyan
Write-Host "Limpieza de caché de Visual Studio 2026" -ForegroundColor Cyan
Write-Host "========================================" -ForegroundColor Cyan
Write-Host ""

# Verificar si Visual Studio está ejecutándose
$vsProcesses = Get-Process devenv -ErrorAction SilentlyContinue
if ($vsProcesses) {
Write-Host "ERROR: Visual Studio está ejecutándose." -ForegroundColor Red
Write-Host "Por favor, cierra Visual Studio antes de ejecutar este script." -ForegroundColor Yellow
Write-Host ""
Read-Host "Presiona Enter para salir"
exit 1
}

Write-Host "✓ Visual Studio no está en ejecución" -ForegroundColor Green
Write-Host ""

# Limpiar carpeta .vs del proyecto
$vsFolder = Join-Path $PSScriptRoot ".vs"
if (Test-Path $vsFolder) {
Write-Host "Eliminando carpeta .vs del proyecto..." -ForegroundColor Yellow
Remove-Item $vsFolder -Recurse -Force -ErrorAction SilentlyContinue
Write-Host "✓ Carpeta .vs eliminada" -ForegroundColor Green
} else {
Write-Host "✓ Carpeta .vs no existe" -ForegroundColor Green
}

# Limpiar carpeta bin y obj de web
$webBin = Join-Path $PSScriptRoot "web\bin"
$webObj = Join-Path $PSScriptRoot "web\obj"

if (Test-Path $webBin) {
Write-Host "Eliminando web\bin..." -ForegroundColor Yellow
Remove-Item $webBin -Recurse -Force -ErrorAction SilentlyContinue
Write-Host "✓ web\bin eliminada" -ForegroundColor Green
}

if (Test-Path $webObj) {
Write-Host "Eliminando web\obj..." -ForegroundColor Yellow
Remove-Item $webObj -Recurse -Force -ErrorAction SilentlyContinue
Write-Host "✓ web\obj eliminada" -ForegroundColor Green
}

# Limpiar caché de componentes de Visual Studio
$vsComponentCache = "$env:LOCALAPPDATA\Microsoft\VisualStudio\18.0_*"
$cacheFolders = @(
"ComponentModelCache",
"ApplicationPrivateSettings.xml"
)

Write-Host ""
Write-Host "Limpiando caché de componentes de VS..." -ForegroundColor Yellow

Get-Item $vsComponentCache -ErrorAction SilentlyContinue | ForEach-Object {
$vsPath = $_.FullName
foreach ($cache in $cacheFolders) {
$cachePath = Join-Path $vsPath $cache
if (Test-Path $cachePath) {
Remove-Item $cachePath -Recurse -Force -ErrorAction SilentlyContinue
Write-Host "✓ Eliminado: $cache" -ForegroundColor Green
}
}
}

Write-Host ""
Write-Host "========================================" -ForegroundColor Cyan
Write-Host "Limpieza completada" -ForegroundColor Green
Write-Host "========================================" -ForegroundColor Cyan
Write-Host ""
Write-Host "Pasos siguientes:" -ForegroundColor Yellow
Write-Host "1. Abre Visual Studio 2026" -ForegroundColor White
Write-Host "2. Abre la solución NexusCad.sln" -ForegroundColor White
Write-Host "3. Reconstruye la solución (Ctrl+Shift+B)" -ForegroundColor White
Write-Host "4. Intenta implementar el proyecto web nuevamente" -ForegroundColor White
Write-Host ""
Read-Host "Presiona Enter para salir"
102 changes: 102 additions & 0 deletions INSTRUCCIONES-URGENTE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# ⚠️ INSTRUCCIONES EXACTAS - Visual Studio 2026

## 🛑 LO QUE ESTÁS HACIENDO MAL:

Estás usando una de estas opciones **INCORRECTAS**:
- ❌ Clic derecho en proyecto → "Implementar" / "Deploy"
- ❌ Menú: Compilar → Implementar NexusCad.Web
- ❌ Menú: Compilar → Implementar solución
- ❌ Cualquier opción que diga "IMPLEMENTAR" / "DEPLOY"

## ✅ LO QUE DEBES HACER:

### OPCIÓN 1: Usar Teclado (MÁS FÁCIL)

1. Cierra cualquier ventana de navegador anterior
2. En Visual Studio, asegúrate que estás en el proyecto NexusCad.Web
3. Presiona una de estas teclas:
- **Ctrl + F5** (recomendado - ejecutar sin depuración)
- **F5** (ejecutar con depuración)

### OPCIÓN 2: Usar Menú

1. Menú superior → **Depurar**
2. Selecciona:
- **"Iniciar sin depurar"** (Ctrl+F5)
- O **"Iniciar depuración"** (F5)

### OPCIÓN 3: Usar Barra de Herramientas

1. Busca en la barra de herramientas superior el botón de **play verde ▶️**
2. Asegúrate que al lado diga "NexusCad.Web"
3. Haz clic en el botón **▶️ verde**

### OPCIÓN 4: Usar Terminal (100% Garantizado)

Si nada de lo anterior funciona:

1. En Visual Studio: **Ver → Terminal** (o Ctrl + `)
2. Ejecuta:
```powershell
cd web
pnpm dev
```
3. Abre tu navegador en: http://localhost:3000

## 🔴 NUNCA HAGAS ESTO CON PROYECTOS WEB:

```
❌ "Compilar e implementar"
❌ "Build and Deploy"
❌ Botón "Implementar"
❌ "Deploy Project"
❌ Clic derecho → Implementar
```

## ✅ SIEMPRE HAZ ESTO CON PROYECTOS WEB:

```
✅ F5 o Ctrl+F5
✅ "Depurar" → "Iniciar"
✅ Botón play verde ▶️
✅ Terminal: pnpm dev
```

## 📸 Verificación Visual

Cuando lo hagas correctamente, verás en la salida:

```
Iniciando la depuración del proyecto...
> pnpm dev

VITE v8.0.14 ready in XXX ms

➜ Local: http://localhost:3000/
➜ Network: use --host to expose
```

**NO debe decir**: "Operación Implementar iniciada"

## 🔧 Si Ya Recargaste el Proyecto y Sigue Fallando:

Visual Studio tiene caché. Haz lo siguiente:

1. **CIERRA Visual Studio completamente**
2. Ejecuta el script de limpieza:
```powershell
cd E:\NexusCad
.\CleanVSCache.ps1
```
3. **REABRE Visual Studio**
4. Abre SOLO el archivo `NexusCad.Web.esproj`
5. Presiona **Ctrl + F5**

## 💡 Resumen de 3 Segundos:

**NO uses "Implementar". USA Ctrl+F5 o pnpm dev en terminal.**

---

Si después de seguir **exactamente** estas instrucciones sigue sin funcionar,
dime qué opción exacta estás usando (nombre del menú o botón) y qué ves en pantalla.
3 changes: 1 addition & 2 deletions NexusCad.slnx
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@
<Project Path="src/NexusCad.Infrastructure/NexusCad.Infrastructure.csproj" />
<Project Path="src/NexusCad.Rules/NexusCad.Rules.csproj" />
<Project Path="src/NexusCad.SwAddIn/NexusCad.SwAddIn.csproj">
<Configuration SolutionConfiguration="Debug" SolutionPlatform="x64" ProjectConfiguration="Debug" ProjectPlatform="x64" />
<Configuration SolutionConfiguration="Release" SolutionPlatform="x64" ProjectConfiguration="Release" ProjectPlatform="x64" />
<Platform Solution="*|Any CPU" Project="x64" />
</Project>
<Project Path="src/NexusCad.SwWorker/NexusCad.SwWorker.csproj" />
</Folder>
Expand Down
19 changes: 19 additions & 0 deletions RunWeb.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Script para ejecutar el proyecto web directamente
Write-Host "========================================" -ForegroundColor Cyan
Write-Host "Ejecutando NexusCad.Web" -ForegroundColor Cyan
Write-Host "========================================" -ForegroundColor Cyan
Write-Host ""

Set-Location -Path "$PSScriptRoot\web"

Write-Host "Directorio actual: $(Get-Location)" -ForegroundColor Yellow
Write-Host ""
Write-Host "Iniciando servidor de desarrollo Vite..." -ForegroundColor Green
Write-Host "Presiona Ctrl+C para detener el servidor" -ForegroundColor Yellow
Write-Host ""
Write-Host "Una vez iniciado, abre tu navegador en:" -ForegroundColor Cyan
Write-Host " http://localhost:3000" -ForegroundColor White
Write-Host ""

# Ejecutar pnpm dev
pnpm dev
107 changes: 107 additions & 0 deletions docs/SOLUCION-VS2026-ESPROJ.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
# ¡SOLUCIÓN ENCONTRADA! - Error de Implementación VS2026

## 🎯 EL PROBLEMA REAL

**Visual Studio 2026 NO soporta "Implementar" (Deploy) para proyectos esproj de la misma manera que proyectos .NET tradicionales.**

El error "El valor no puede ser nulo. Nombre del parámetro: source" ocurre porque:
- VS2026 intenta ejecutar un proceso de "implementación" que no aplica a proyectos Vite/Node
- Los proyectos JavaScript/TypeScript se deben **ejecutar**, no **implementar**

## ✅ SOLUCIÓN CORRECTA

### Método 1: Ejecutar sin Depuración (F5 o Ctrl+F5)

En lugar de usar "Implementar":

1. **Establece `NexusCad.Web` como proyecto de inicio:**
- Clic derecho en el proyecto → "Establecer como proyecto de inicio"

2. **Ejecuta el proyecto:**
- Presiona **F5** (con depuración) o **Ctrl+F5** (sin depuración)
- O usa el menú: **Depurar → Iniciar sin depurar**

3. Visual Studio ejecutará automáticamente:
```
pnpm dev
```

### Método 2: Usar la Terminal de Visual Studio

1. Abre la terminal en VS: **Ver → Terminal**
2. Navega al proyecto web:
```powershell
cd web
```
3. Ejecuta el servidor de desarrollo:
```powershell
pnpm dev
```

### Método 3: Terminal Externa

Abre PowerShell o Terminal y ejecuta:
```powershell
cd E:\NexusCad\web
pnpm dev
```

## 🚫 NO USES "IMPLEMENTAR" (Deploy)

La opción **"Implementar proyecto"** o **"Deploy"** NO funciona con proyectos esproj porque:
- Es para aplicaciones .NET que necesitan ser publicadas
- Los proyectos Node/Vite se ejecutan directamente con el servidor de desarrollo
- No hay un proceso de "implementación" en desarrollo local

## 📋 Configuración Correcta del Proyecto

El archivo `NexusCad.Web.esproj` debe tener:
- ✅ `StartupCommand` = `pnpm dev`
- ✅ `BuildCommand` = `pnpm build`
- ❌ NO necesita `LaunchCommand` ni `LaunchUrl` (causan el error)
- ❌ NO necesita `.vscode/launch.json` para esproj

## 🎬 Flujo de Trabajo Correcto

### Para Desarrollo:
1. Abre el proyecto en VS2026
2. Presiona **Ctrl+F5** (ejecutar sin depuración)
3. VS ejecuta `pnpm dev` automáticamente
4. El navegador se abre en http://localhost:3000

### Para Compilar (Build):
1. Clic derecho en proyecto → **Compilar**
2. VS ejecuta `pnpm build`
3. Los archivos se generan en `web/dist/`

### Para Producción:
- Usa Docker: `docker build -f web/Dockerfile .`
- O compila y sirve: `pnpm build && pnpm preview`

## 🔍 Por Qué Funcionaba en Otro PC

En el otro PC probablemente:
- Usabas **F5/Ctrl+F5** en lugar de "Implementar"
- O tenías una versión diferente de VS con mejor manejo de esproj
- O el proyecto web se ejecutaba desde terminal directamente

## ⚠️ IMPORTANTE

**Nunca uses "Compilar e Implementar" o "Deploy" con proyectos JavaScript/TypeScript en VS2026.**

Usa siempre:
- **Compilar** (Build) → `pnpm build`
- **Ejecutar** (F5/Ctrl+F5) → `pnpm dev`
- **Terminal** → Control manual completo

## 📝 Resumen

| ❌ NO HAGAS ESTO | ✅ HAZ ESTO |
|------------------|-------------|
| Clic derecho → Implementar | Presiona **Ctrl+F5** |
| Build → Deploy | Build → Debug (F5) |
| Buscar "Deploy/Implementar" | Buscar "Run/Ejecutar" |

---

**Después de seguir esta guía, el proyecto debería ejecutarse sin errores.**
Loading
Loading