Kompilere Loggfila feilkode med å få satt "gått ut med kode 1"

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

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

Ovennevnte koden fungerer finner i Loggfila Play, men jeg fikk bygge feil når kompilere den fra Visual Studio 2012 error exited with code 1

Er det noen som prøver å komme, satt i Loggfila og bygge vellykket?

Publisert på 07/10/2012 klokken 16:08
kilden bruker
På andre språk...                            


2 svar

stemmer
19

Du må målrette ECMAScript v5, dvs. passerer -target ES5argument til kompilatoren. Dette må settes i prosjektfiler målet konfigurasjon.

Jeg vet ikke om VS har noen innebygd mechanims for redigering mål konfigurasjoner, så jeg kan bare fortelle deg hvordan du gjør det manuelt. Bare åpne .csprojprosjektfilen, se etter Targetnoden der Loggfila kompilatoren kommandoen er plassert, og legg til -target ES5argument.

I min config ser det ut som dette:

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

Oppdater

Som i versjon 0.8.1.0 ble hardkodet versjon avhengighet fjernet og støtte for kildekart ble lagt til, og så Targetnode ser nå slik ut som standard:

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

Injeksjon av targetargumentet er fortsatt ganske lett, enkelt sagt det etter tsceller $(TypeScriptSourceMap):

<Message Text="Executing tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
<Exec Command="tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
Svarte 07/10/2012 kl. 17:07
kilden bruker

stemmer
9

Per 0.8.2 har hatt en annen endring. Noen av de vanligste Loggfila bygge ting ble flyttet fra .csproj til en ekstern build-fil. Som så:

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

Din .csproj fortsatt får til å sette noen argumenter på Loggfila bygge ved å inkludere dem som elementer i oppbyggingen. en av dem element er den ES versjon. Malen som er opprettet to grupper for meg, en for debug og en for utgivelse:

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

for den ønskede effekten bare endre ES3 til ES5

For dypere forståelse av hvordan dette til slutt ender opp som en del av samtalen til Loggfila kompilatoren ta en titt i Microsoft.TypeScript.targets filen.

Lykke til,

Svarte 04/03/2013 kl. 12:17
kilden bruker

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