Compilarea codul de eroare typescript cu un set get „a ieșit cu codul 1“

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

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

Lucrările de cod de mai sus găsi dactilografiat joc, dar am primit eroare de construcție atunci când compilarea de la Visual Studio 2012 error exited with code 1

Are cineva să încercați a lua, set dactilografiat și de a construi cu succes?

Întrebat 07/10/2012 la 17:08
sursa de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
19

Va trebui să vizeze ECMAScript v5, adică trece -target ES5argumentul compilator. Acest lucru trebuie să fie setat în configurația țintă fișierele de proiect.

Nu știu dacă VS are vreo construit în mechanims pentru editare configurații țintă, astfel încât pot să vă spun doar cum se face manual. Pur și simplu deschideți .csprojfișierul de proiect, uita - te pentru Targetnodul în care se află comanda compilator typescript, și se adaugă -target ES5argumentul.

În config mea se pare ca acest lucru:

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

Actualizați

Ca de versiunea 0.8.1.0, dependența versiunea hardcoded a fost îndepărtat și s - a adăugat suport pentru hărți sursă, și astfel Targetnodul acum arata ca acest lucru în mod implicit:

<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>

Injectarea targetargumentul este încă destul de ușor, pur și simplu , pune - l după tscsau $(TypeScriptSourceMap):

<Message Text="Executing tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
<Exec Command="tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
Publicat 07/10/2012 la 18:07
sursa de către utilizator

voturi
9

Ca de 0.8.2 a avut o altă schimbare. Unele dintre lucrurile comune construi typescript a fost mutat de la .csproj la un fișier construi extern. Ca astfel:

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

.csproj dvs. devine încă să stabilească anumite argumente pe constituirea typescript prin includerea lor ca elemente în construi. unul dintre cele element este versiunea ES. Șablonul a creat două grupuri pentru mine, una pentru depanare și unul pentru eliberare:

  <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>

pentru efectul dorit doar schimba ES3 la ES5

Pentru înțelegere mai profundă a modului în care acest lucru se termină în cele din urmă, ca parte a apelului la compilator typescript au o privire în fișierul Microsoft.TypeScript.targets.

Mult noroc,

Publicat 04/03/2013 la 13:17
sursa de către utilizator

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