如何在VS2015项目中提供模块标志?

Eri*_*k Z 10 typescript visual-studio-2015

我使用VS2015在webproject中创建了一个新的.ts文件.在TypeScript Build下的项目属性中,我检查了Module System = AMD.

然后,当尝试编写外部模块时,我收到以下错误.

除非提供了"--module"标志,否则无法编译模块.

我在哪里提供moduel标志?

Art*_*iom 6

我无法让它发挥作用.无论我在打字稿部分改变了什么 - 它在构建时被忽略了.

如果我在工具 - >选项 - >构建和运行中将详细程度设置为详细信息,我可以看到我的所有设置都被忽略,包括-module标志.

就像解决方法一样.在根目录中创建tsconfig.json文件.并添加预构建事件"tsc"命令.在这种情况下它工作得很好.

{
  "compilerOptions": {
    "module": "commonjs",
    "noImplicitAny": true,
    "removeComments": true,
    "preserveConstEnums": true,
    "sourceMap": true
  }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


gxc*_*rke 6

这似乎是VS2015 RTM的一个错误.项目TypeScript设置未正确保存到.csproj文件,因此TypeScript编译器不读取它们.

修理:

  1. 右键单击项目,卸载它,然后再次右键单击并编辑它.
  2. 搜索<TypeScriptModuleKind>,然后找到应该调用的父元素<PropertyGroup>.
  3. Any CPUCondition属性值中查找文本" " ,将其更改为" AnyCPU" - 即删除空格.
  4. 如果您有其他构建条件的TypeScript设置,请再次搜索并重复更改.

请注意,在修复此错误之前,您需要编辑.csproj文件以修改TypeScript设置.如果您尝试从项目设置区域进行更改,它将仅在项目文件中生成具有错误条件值的新设置.

此外,您可能正在阅读有关使用tsconfig.json文件而不是提供VS2015中的设置的信息.但是,似乎此功能目前仅针对网站项目类型实现,而不是针对Web应用程序项目实现.

  • 这对我也有用.两件事1)它是`<PropertyGroup>`不是<ParentGroup>`2)我将条件更改为`<PropertyGroup Condition ="'$(Platform)'=='AnyCPU'">`这样它适用于所有配置 (2认同)