在VS 2015中指定 - 模块标志的位置?

时间:2015-05-11 17:08:39

标签: asp.net typescript

我正在使用typescript 1.5和VS 2015 RC以及新的ASP.NET 5项目模板。 打字稿编译得很好但是我在导出的类上遇到以下错误:

  

除非提供“-module”标志,否则无法编译外部模块

我想要保持这个错误,但我无法通过VS 2015指定任何打字稿选项。我也试过tsconfig.json文件,但似乎只添加此文件无效。也许还有一个我缺少的额外步骤。我该怎么办?

1 个答案:

答案 0 :(得分:1)

通常,此设置位于项目属性中TypeScript构建选项卡的项目属性中(对于当前的构建配置,例如Debug或Release)。

由于您说没有出现TypeScript构建选项卡,因此您可能没有对项目中TypeScript“props”文件的有效引用。在.csproj或类似文件中查找这样的行:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" />

如果它不存在,请将其添加到项目中,然后修复路径以正确安装Visual Studio和TypeScript(只需在硬盘上搜索“Microsoft.TypeScript.Default.props”文件)驾驶)。重新加载项目时,应显示TypeScript构建属性选项卡。

您需要的另一件事是对TypeScript“targets”文件的引用,例如:

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

请注意,目标参考通常必须在项目中尽可能低 - 甚至可能在</Project>标记之前。

Visual Studio中TypeScript的初始化依赖于现有的.props和.targets文件,因此也可能是问题。