Kompilace strojopisem chybový kód s pozor „byl ukončen s kódem 1.“

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

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

Výše uvedený kód funguje naleznete na stroji Play, ale při kompilaci jej z Visual Studio 2012 jsem dostal chybu sestavení error exited with code 1

Má někdo se snaží dostat, nastavte na stroji a úspěšně budovat?

Položena 07/10/2012 v 17:08
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
19

Budete se muset zaměřit ECMAScript v5, tj předat -target ES5argument kompilátor. To je třeba nastavit v cílové konfiguraci projektu soubory.

Já nevím, jestli VS má některý postaven v mechanims pro editaci cílové konfigurace, takže mohu říci jen, jak to udělat ručně. Stačí otevřít .csprojsoubor projektu, podívejte se na Targetuzlu, kde se nachází příkaz strojopisu kompilátor a přidejte -target ES5argument.

V mém konfiguračním to vypadá takto:

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

Aktualizace

Od verze 0.8.1.0 je napevno závislost verze byla odstraněna a byla přidána podpora pro zdrojové mapy, a tak Targetuzel nyní vypadá takto standardně:

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

Vstříknutím targettvrzení je stále docela snadno, jednoduše řečeno to po tscnebo $(TypeScriptSourceMap):

<Message Text="Executing tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
<Exec Command="tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
Odpovězeno 07/10/2012 v 18:07
zdroj uživatelem

hlasů
9

Jak 0.8.2 má za sebou další změnu. Některé z běžné strojopisu sestavení věci byl přesunut ze svého .csproj na externí verzi. Jako tak:

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

Váš .csproj ještě dostane nastavit některé argumenty na strojopisu sestavení jejich začleněním jako elementy v sestavení. jeden z těchto prvků je verze ES. Šablona vytvořena dvě skupiny pro mě, jeden pro ladění a jeden pro verzi:

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

Pro požadovaný efekt stačí změnit ES3 k ES5

Pro hlubší pochopení toho, jak to nakonec skončí jako součást výzvy k strojopisu kompilátor se podívat do souboru Microsoft.TypeScript.targets.

Hodně štěstí,

Odpovězeno 04/03/2013 v 13:17
zdroj uživatelem

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