visual-studio - Visual Studio 2017 - 防止 asmx 文件出现 typescript 错误

标签 visual-studio typescript

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

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

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

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

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

更新:

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

最佳答案

将已安装的 typescript nuget 包从 1.8 升级到 2.4 为我解决了这个问题。

需要注意的是VS2017在保存typescript文件时使用的是电脑上安装的typescript版本(VS2017默认2.4)

但是您的代码在点击“构建”时可能使用了旧版本的 typescript 。与按 ctrl+s 或仅查看 IDE 中的错误相比。

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

但这不是 VS2017 IDE 用于显示错误消息的方式,它使用安装在 pc 上的最新版本。

版本之间的这种不匹配可能是导致问题的原因。显示错误但未失败 ctrl+s 编译/msbuild 构建。

尝试安装/卸载 typescript nuget 包,查看 pc 本地安装的是哪个版本,项目本身是否有对应版本的 nuget 包。

关于visual-studio - Visual Studio 2017 - 防止 asmx 文件出现 typescript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46961583/

相关文章:

c# - ClassName() 没有返回任何,片段工具 visual studio 2013

asp.net - Visual Studio 2010和ASP.NET MVC中HTML5音频控件的问题

visual-studio - VSTS : Release and deploy a console application

Angular-Meteor 更新到 1.6.1.1 typescript 编译器缺少声明

c++ - 如何在 rc 文件中设置对话框代码页

c++ - Visual Studio 对话框编辑器不使用方形尺寸

unit-testing - Angular 2 单元测试错误 : Cannot resolve all parameters for 'RequestOptions'

javascript - 有没有办法在 typescript 上使用 util.promisify 继承方法签名?

TypeScript: `void` 与可选/默认参数不兼容

typescript - 我将如何在 TypeScript 中进行动态转换的 C++ 等价?