You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 2类库项目启用TypeScript编译遇VS2017识别问题

嘿,我刚好碰到过类似的场景,给你几个针对VS2017 + ASP.NET Core 2类库启用TypeScript编译的实用方案,完全不用单独建Web项目:

方案1:手动配置MSBuild让VS识别TypeScript

VS2017对ASP.NET Core类库的TypeScript支持不像Web项目那样自动,所以得手动修改项目文件(.csproj)来启用编译链:

  1. 右键类库项目 → 选择“编辑项目文件”,添加以下配置:
<PropertyGroup>
  <!-- 开启保存时自动编译TypeScript -->
  <TypeScriptCompileOnSaveEnabled>true</TypeScriptCompileOnSaveEnabled>
  <!-- 指定TypeScript工具版本,比如3.9,根据你安装的版本调整 -->
  <TypeScriptToolsVersion>3.9</TypeScriptToolsVersion>
</PropertyGroup>

<ItemGroup>
  <!-- 包含所有TypeScript文件 -->
  <TypeScriptCompile Include="**\*.ts" />
  <!-- 把生成的JS文件作为资源复制到输出目录 -->
  <Content Include="**\*.js" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
  1. 保存项目文件后,VS会自动加载TypeScript编译支持,你可以在“生成”菜单里看到编译选项。
方案2:解决package.json的依赖安装问题

因为VS2017的类库右键没有“Package Install”选项,直接用命令行搞定就行:

  • 打开项目所在的文件夹,右键选择“在此处打开命令窗口”(或者用VS自带的“包管理器控制台”切换到项目目录)
  • 运行命令 npm install,VS2017会自动识别生成的node_modules文件夹,后续编译时也会用到这些依赖。
方案3:优化tsconfig.json适配Cosmos DB脚本场景

既然你的JS是给Cosmos DB服务器端用的,得把TypeScript编译配置调整成适合后端脚本的格式,修改tsconfig.json:

{
  "compilerOptions": {
    "target": "ES5", // Cosmos DB支持ES5语法
    "module": "CommonJS",
    "outDir": "./dist", // 指定统一的输出目录,方便管理
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true
  },
  "include": ["src/**/*.ts"], // 假设你的TS文件都在src目录下
  "exclude": ["node_modules"]
}

然后记得在.csproj里把输出目录的JS文件包含为资源:

<Content Include="dist\**\*.js" CopyToOutputDirectory="PreserveNewest" />
方案4:用Task Runner Explorer自动绑定编译命令

如果不想每次手动跑npm install或者tsc,可以配置自动任务:

  1. 在项目根目录新建.vscode文件夹,里面创建tasks.json文件,内容如下:
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "安装npm依赖",
      "type": "shell",
      "command": "npm install",
      "cwd": "${workspaceFolder}",
      "group": {
        "kind": "build",
        "isDefault": false
      }
    },
    {
      "label": "编译TypeScript",
      "type": "shell",
      "command": "tsc",
      "cwd": "${workspaceFolder}",
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "problemMatcher": ["$tsc"]
    }
  ]
}
  1. 打开VS的“视图”菜单 → “其他窗口” → “Task Runner Explorer”,把这两个任务绑定到“构建前”事件,这样每次生成项目时会自动执行依赖安装和TS编译。

内容的提问来源于stack exchange,提问作者Donal McWeeney

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:26:22