Kompilieren Typoskript Fehlercode mit get set „beendet mit Code 1“

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

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

Die obigen Code funktioniert finden in Typoskript Play, aber ich erhielt Buildfehler, wenn es von Visual Studio 2012 kompilieren error exited with code 1

Versucht jemand bekommen, setzen Sie in Typoskript und bauen erfolgreich?

Veröffentlicht am 07/10/2012 um 17:08
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
19

Sie müssen ECMAScript v5 Ziel, dh den Pass -target ES5Argument an den Compiler. Dies muss in den Projektdateien Soll - Konfiguration eingestellt werden.

Ich weiß nicht , ob VS in mechanims Zielkonfigurationen für die Bearbeitung jeder gebaut hat, so kann ich Ihnen nur sagen , wie es manuell zu tun. Einfach Ihre öffnen .csprojProjektdatei, die aussehen TargetKnoten , auf dem der Typoskript Compiler - Befehl befindet, und das Add - -target ES5Argument.

In meiner Config sieht es wie folgt aus:

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

Aktualisieren

Ab der Version 0.8.1.0 wurde die hartcodierte Version Abhängigkeit entfernt und Unterstützung für Quelle Karten wurde hinzugefügt, so dass der TargetKnoten sieht nun wie folgt standardmäßig:

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

Das Injizieren des targetArgument setzen es immer noch recht einfach, einfach nach tscoder $(TypeScriptSourceMap):

<Message Text="Executing tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
<Exec Command="tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
Beantwortet am 07/10/2012 um 18:07
quelle vom benutzer

stimmen
9

Ab 0.8.2 hat eine weitere Änderung hat. Einige der gemeinsamen Typoskript Build Zeug wurde von Ihrem CSPROJ auf eine externe Build-Datei verschoben. Wie so:

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

Ihre CSPROJ bekommt noch einige Argumente auf dem Typoskript Build zu setzen, indem sie als Elemente in der Build inklusive. eines dieses Element ist die ES-Version. Die Vorlage erstellt zwei Gruppen für mich, einen für Debug- und einen für die Freigabe:

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

für die gewünschte Wirkung nur die ES3 ES5 ändern

Zum besseren Verständnis, wie diese schließlich endet als Teil des Aufrufs zu dem Typoskript Compiler einen Blick in der Microsoft.TypeScript.targets-Datei.

Viel Glück,

Beantwortet am 04/03/2013 um 13:17
quelle vom benutzer

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