"Koduyla 1 ile çıkıldı" olsun seti ile typescript hata kodu derleniyor

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

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

Yukarıdaki kod çalışır typescript Play bulmak, ancak Visual Studio 2012 tarihinden itibaren bunu derlerken inşa hata aldı error exited with code 1

Herkes, olsun typescript ayarlanır ve başarıyla inşa deneyin mu?

Oluştur 07/10/2012 saat 17:08
kaynak kullanıcı
Diğer dillerde...                            


2 cevaplar

oy
19

Sen yani ECMAScript v5 hedef geçmeniz gerekir -target ES5derleyici argüman. Bu proje dosyaları hedef yapılandırmasında ayarlanması gerekir.

VS herhangi bir hedef yapılandırmalarını düzenleme için mechanims inşa eğer bilmiyorum, bu yüzden sadece nasıl elle yapmak söyleyebilirim. Basitçe açmak .csproj, proje dosyasını aramak Targettypescript derleyici komutu bulunduğu düğüm ve eklemek -target ES5argüman.

Benim konfigürasyonunda bu şuna benzer:

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

Güncelleştirme

Sürümü 0.8.1.0 itibariyle kodlanmış versiyonu bağımlılık çıkarıldı ve kaynak haritaları için destek eklendi ve böylece Targetdüğüm artık varsayılan olarak aşağıdaki gibidir:

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

Enjekte targetoldukça kolay hala argüman olduğunu, basitçe sonra koyun tscveya $(TypeScriptSourceMap):

<Message Text="Executing tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
<Exec Command="tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
Cevap 07/10/2012 saat 18:07
kaynak kullanıcı

oy
9

0.8.2 itibariyle başka bir gelişme göstermiştir. Ortak typescript inşa şeyler bazıları harici inşa dosyasına .csproj taşındı. böylece gibi:

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

Kişisel .Csproj hala yapı içinde öğeler olarak dahil ederek typescript yapı üzerinde bazı argümanlar ayarlamak için alır. Bu elemanın biri ES versiyonu. Şablon benim için iki grubu, ayıklama diğeri serbest bırakılması için bir tane yarattı:

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

İstenen etki sadece ES5 için ES3 değiştirmek için

Bu sonuçta typescript derleyici çağrısının bir parçası olarak sayar derin anlamak için Microsoft.TypeScript.targets dosyasında bir göz.

İyi şanslar,

Cevap 04/03/2013 saat 13:17
kaynak kullanıcı

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