对装饰器Visual Studio 2017的实验支持

时间:2018-08-18 09:26:03

标签: angular typescript typescript2.0 asp.net-core-2.1

我已经在Visual Studio 2017中使用AngularJS创建了一个.Net Core项目,但是当我尝试创建服务时,却出现了

错误
  

对装饰器的实验支持是一项功能,将来的发行版中可能会对其进行更改。设置'experimentalDecorators'选项`以删除此警告。

我已经检查了几个链接,例如在编辑tsconfig.json之后的链接,例如 link1link2

现在我的tsconfig.json如下所示

    {
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "experimentalDecorators": true,
    "allowJs": true,
    "noEmit": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2017",
      "dom"
    ]
  },
  "include": [
    "app/**/*"
  ],
  "files": [], //add a "files" array (in my case empty)
  "exclude": [
    "node_modules"
  ],
  "typeAcquisition": {
    "enable": true // helps fuel better js intellisense
  }
}

但是我仍然看到错误,现在我一无所知。

enter image description here

3 个答案:

答案 0 :(得分:19)

添加

<PropertyGroup>
<TypeScriptExperimentalDecorators>true</TypeScriptExperimentalDecorators></PropertyGroup>

在您项目的.csproj文件中,因为它将优先于tsconfig.json文件 并且重新启动Visual Studio,错误不再存在。

答案 1 :(得分:9)

这里有同样的问题,这让我发疯了。
添加项目的.csproj文件

<ItemGroup>
    <Content Include="ClientApp\tsconfig.json">
      <CopyToOutputDirectory>Never</CopyToOutputDirectory>
    </Content>
  </ItemGroup>

https://github.com/Microsoft/TypeScript/issues/25823

答案 2 :(得分:0)

在您的 .csproj 中,添加以下 PropertyGroup 以抑制 ExperimentDecorator 错误(撰写本文时为 1219)。之后您可能需要重新加载您的项目。 这也适用于 VS 2019。

    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
        <NoWarn>1219;</NoWarn>
    </PropertyGroup>

    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
        <NoWarn>1219;</NoWarn>
    </PropertyGroup>