VS2015:使用Typescript 1.5和实验装饰器构建应用程序时构建错误

时间:2015-08-05 00:52:51

标签: msbuild typescript visual-studio-2015 ecmascript-6 typescript1.5

对于解决方案,我看起来很高和很低,我已经接近了,但仍然有点麻烦。

错误:

Build: Experimental support for decorators is a feature that is subject to change in a future release. Specify '--experimentalDecorators' to remove this warning.

每次使用装饰器时都会出现此错误。我用

设置了MSBuild
    <TypeScriptEmitDecoratorMetadata>True</TypeScriptEmitDecoratorMetadata>
    <TypeScriptExperimentalDecorators>True</TypeScriptExperimentalDecorators>

并删除了一半的错误(编译器错误,而不是构建错误)。但是,现在我遇到了构建错误。 .ts文件仍然被编译为.js,没问题。***但是例​​外会妨碍构建解决方案的其余部分。

如果其中任何一项没有意义,请告诉我。我用言语不是最好的。

编辑:我发现.js是在保存时创建的,而不是在构建时创建的。因此,任何与构建相关的内容都会被打破。&#34;

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。我最终修改了 .csproj 以将所有TypeScriptCompile元素更改为普通Content元素,并且我使用了自己的编译任务(通过Gulp)。

例如, <TypeScriptCompile Include="app.ts" />成为<Content Include="app.ts" />

我还删除了引用与Typescript相关的MSBuild目标的任何导入,即<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" />

我仍然得到IDE(和Resharper,如果你使用它)支持Typescript - 我只是明确告诉Visual Studio不要为我的项目处理任何TS编译。似乎唯一的缺点是必须管理我的Gulp任务来编译Typescript。使用VS的Task Runner Explorer扩展,将Gulp编译任务添加为项目构建的一部分,或者只是在gulp watch中使用Gulp任务可以减轻权衡。