Visual Studio 2017-使用asmx文件防止打字稿错误

时间:2017-10-26 18:39:51

标签: visual-studio typescript

我安装了Visual Studio 2017社区版。我加载了我的项目,它有一个asmx文件。当我编译项目时,我得到一些打字稿错误:

>    TS1005 ';' expected
>     TS1146 Declaration expected
>     etc.

当我双击错误时,它会显示asmx文件,该文件有一行,如下所示:

<%@ WebService Language="C#" CodeBehind="AjaxCalls.asmx.cs" Class="Nova.AjaxCalls" %>

为什么打字稿会给我一个关于这一行的错误?这根本与打字稿无关。 Visual Studio是否向我显示错误所在的错误文件?

更新:

我找到了解决问题的方法。我添加了一个名为Microsoft.CSharp的项目的引用。这解决了这个问题。如果该引用已存在,则尝试将其删除并重新添加。显然它与IntelliSense有关。

1 个答案:

答案 0 :(得分:1)

将已安装的打字稿nuget软件包从1.8升级到2.4解决了这个问题。

重要的是要注意保存打字稿文件VS2017使用计算机上安装的打字稿版本(VS2017默认为2.4)

但是你的代码在点击&#34; build&#34;时可能会使用旧版本的打字稿。与点击ctrl + s或仅查看IDE中的错误相比。

这是因为typescript作为nuget包(例如v1.8),添加了msbuild在构建时用于编译打字稿的目标。

但这不是VS2017 IDE用来显示错误消息的,它使用的是PC上安装的最新版本。

版本之间的这种不匹配可能是造成问题的原因。显示错误但没有失败ctrl + s compile / msbuild build。

尝试安装/卸载typescript nuget包并检查pc上本地安装的版本以及项目本身是否具有相应版本的nuget包。