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

我安装了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有关.

最佳答案 将已安装的typescript nuget软件包从1.8升级到2.4解决了它.

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

但是你的代码在点击“build”时可能会使用旧版本的打字稿.与点击ctrl s时相比,或只是查看IDE中的错误.

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

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

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

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

点赞