【问题标题】:Visual Studio 2017- prevent typescript errors with asmx filesVisual Studio 2017 - 使用 asmx 文件防止 typescript 错误
【发布时间】:2018-05-01 17:30:45
【问题描述】:

我安装了 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 与此无关。这是一个 asmx 网络服务文件
  • 为什么 Visual Studio 显示 asmx 文件的 typescript 错误?
  • 我遇到了完全相同的问题。绝对是 TypeScript 在这个上表现得很奇怪(我在 VS 2017 v.15.4.2 上)。你找到解决办法了吗?
  • 面临同样的问题。你有解决方案吗?

标签: visual-studio typescript


【解决方案1】:

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

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

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2017-08-28
    • 2017-07-28
    • 2017-05-28
    • 2017-07-31
    • 1970-01-01
    • 2017-12-23
    • 2019-09-18
    • 2017-04-01
    • 1970-01-01
    相关资源
    最近更新 更多