Saltar al contenido

Mecanografiado string enumeraciones: “El tipo … no se puede asignar al tipo …”

Luego de observar en diferentes repositorios y páginas de internet al final hemos hallado la solución que te mostramos aquí.

Solución:

Esto se debe a la versión mecanografiada.

Abra el símbolo del sistema o la terminal. luego ejecute estos comandos.

Comprobar la versión de TypeScript

tsc -v

debe ser superior a 2,4

que no.

instalar la última versión de mecanografiado globalmente

npm install typescript -g

Abra su archivo package.json del proyecto y cambie la versión mecanografiada como esta con la versión recién instalada

"typescript": "~2.6.1"

Luego elimine la carpeta node_modules

Limpiar caché usando

npm cache clean

Finalmente corre

npm install

*Tenga en cuenta que: Puede actualizar npm usando actualización de npm pero no es seguro que la versión mecanografiada se actualice *

Este es el error que obtiene al compilar con una versión de TypeScript anterior a la 2.4. Todo lo que puedo sugerir es que su copia de Visual Studio de alguna manera está recogiendo su propia versión anterior de mecanografiado en lugar de usar la más nueva instalada en su proyecto. Consulte la wiki https://github.com/Microsoft/TypeScript/wiki/Updating-TypeScript-in-Visual-Studio-2017 para obtener instrucciones sobre cómo actualizar TypeScript.

PS C:temp> cat t.ts
enum StepType 
    Start = 'S',
    Activity = 'A',
    Decision = 'D',
    End = 'E'

PS C:temp> node somepathnode_modulestypescriptbintsc --version
Version 2.2.2
PS C:temp> node somepathnode_modulestypescriptbintsc t.ts
t.ts(2,13): error TS2322: Type '"S"' is not assignable to type 'StepType'.
t.ts(3,16): error TS2322: Type '"A"' is not assignable to type 'StepType'.
t.ts(4,16): error TS2322: Type '"D"' is not assignable to type 'StepType'.
t.ts(5,11): error TS2322: Type '"E"' is not assignable to type 'StepType'.
PS C:temp> tsc --version
Version 2.4.1
PS C:temp> tsc t.ts
PS C:temp>

Inspirado por la respuesta de Duncan, encontré la causa raíz. Aunque la aplicación usaba TypeScript 2.4, IntelliSense de VS todavía estaba atascado en 2.3. VS IntelliSense no se actualizó

La forma de resolver el problema fue descargar e instalar TypeScript 2.4 SDK y luego seleccionar entre las opciones la versión más nueva:

ingrese la descripción de la imagen aquí

valoraciones y comentarios

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *