更新:我当时遇到的问题是由于VS / Typescript中的错误造成的。此问题现已解决。目前,发生此错误的唯一原因是在Typescript属性中未选择任何模块类型。见接受的答案。
VS 15:asp.net MVC项目。
我添加了一个打字稿文件。然后我将Module系统设置为System。
然后我构建项目。
发生错误:除非提供了--module标志,否则无法编译模块。
然后检查ts文件的属性。我将构建操作设置为none。错误消失了。
但是,如果我使用带有Greeter类的模板开始一个新的Typescript项目,那么所有工作都按预期工作。
但我仔细查看了项目设置,并且没有任何差异,我可以看到。
我已经阅读了此错误的所有其他堆栈溢出答案,但没有一个解决了错误。
我找到的唯一解决方法是将“Compile On Save”设置为true,然后将构建操作设置为“None”
答案 0 :(得分:7)
1打开项目属性(在Solution Explorer中右键单击您的项目,然后单击“Properties”)。
2打开TypeScript选项卡。
3在模块系统部分选择AMD。
答案 1 :(得分:6)
所以,我们一直都会遇到这种情况,但出于不同的原因。我们将所有打字稿编译卸载到gulp(由PreBuildEvent调用),因此编译工作正常,但在Visual Studio中查看文件时仍然会出现此错误。
基本上,我们需要告诉Visual Studio我们正在使用AMD,所以要做到这一点,请执行以下操作:
此时,您甚至可以取消选中“自动编译....”选项,它只是需要保持检查的第二个选项。
同样,当我们遇到问题时,它只是一个开发时间问题而且不会影响我们的构建(在本地或在我们的构建服务器上)。
答案 2 :(得分:1)
使用VS 2013。 这就解决了我的问题。
转到项目属性> TypeScript Build>选择" AMD"作为模块系统。