La compilación de código de error mecanografiado con juego get "salido con el código 1"

votos
13
get topLeft()      { return this._topLeft;             }

set topLeft(value) {  this._topLeft = value; Recalc(); }

Los trabajos anteriores de código encuentran en Juego mecanografiado, pero recibieron error de compilación al compilar desde Visual Studio 2012 error exited with code 1

¿Alguien intente obtener, ajustado a máquina de escribir y construir con éxito?

Publicado el 07/10/2012 a las 17:08
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
19

Tendrá que dirigirse a v5 ECMAScript, es decir, pasar el -target ES5argumento para el compilador. Esto se debe establecer en la configuración de destino archivos de proyecto.

No sé si VS ha construido en cualquier mechanims prácticos sobre la configuración de destino, por lo que sólo puedo decirle cómo hacerlo de forma manual. Basta con abrir el .csprojarchivo de proyecto, busque el Targetnodo en el que se encuentra el comando mecanografiado compilador, y añadir el -target ES5argumento.

En mi configuración se parece a esto:

<Target Name="BeforeBuild">
    <Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc&quot; -target ES5 @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
</Target>

Actualizar

A partir de la versión 0.8.1.0, la versión codificada de dependencia se retiró y se añadió soporte para mapas fuente, por lo que el Targetnodo ahora se ve así de forma predeterminada:

<Target Name="BeforeBuild">
    <Message Text="Compiling TypeScript files" />
    <Message Text="Executing tsc$(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
    <Exec Command="tsc$(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
</Target>

Inyectar el targetargumento sigue siendo bastante fácil, simplemente ponerlo después tsco $(TypeScriptSourceMap):

<Message Text="Executing tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
<Exec Command="tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
Respondida el 07/10/2012 a las 18:07
fuente por usuario

votos
9

A partir de 0.8.2 ha tenido otro cambio. Algunas de las cosas acumulación mecanografiado común fue trasladada desde su .csproj a un fichero de construcción externa. Al igual que:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" />

Su .csproj todavía se pone a establecer algunos argumentos sobre la acumulación mecanografiado mediante su inclusión como elementos de la construcción. uno de los elemento es la versión ES. La plantilla creado dos grupos para mí, uno para depurar y uno para la liberación:

  <PropertyGroup Condition="'$(Configuration)' == 'Debug'">
    <TypeScriptTarget>ES3</TypeScriptTarget>
    <TypeScriptIncludeComments>true</TypeScriptIncludeComments>
    <TypeScriptSourceMap>true</TypeScriptSourceMap>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)' == 'Release'">
    <TypeScriptTarget>ES3</TypeScriptTarget>
    <TypeScriptIncludeComments>false</TypeScriptIncludeComments>
    <TypeScriptSourceMap>false</TypeScriptSourceMap>
  </PropertyGroup>

para el efecto deseado sólo cambia la ES3 a ES5

Para una comprensión más profunda de cómo esto finalmente termina como parte de la llamada al compilador mecanografiado echar un vistazo en el archivo Microsoft.TypeScript.targets.

Buena suerte,

Respondida el 04/03/2013 a las 13:17
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more