VS2015: “Cannot find type definition” and “File no

2019-07-22 07:17发布

问题:

I have an Angular2 app which worked perfectly fine until two days ago. When I tried to build the solution in Visual Studio 2015, I got 10 errors:

Build: Cannot find type definition file for 'hammerjs'.
Build: Cannot find type definition file for 'jasmine'.
Build: File (...)/wwwroot/lib/ng2-translate/index.ts' not found.

And 6 more about various files in ng2-translate not found.

Surprisingly, when I build my app by dotnet run command, it works well. I updated everything by npm-check-updates -u, but it didn't change anything. My package.json:

{
  "version": "1.0.0",
  "name": "CarMarket",
  "private": true,
  "dependencies": {
    "@angular/common": "~4.0.3",
    "@angular/compiler": "~4.0.3",
    "@angular/core": "~4.0.3",
    "@angular/forms": "~4.0.3",
    "@angular/http": "~4.0.3",
    "@angular/platform-browser": "~4.0.3",
    "@angular/platform-browser-dynamic": "~4.0.3",
    "@angular/router": "~4.0.3",
    "@angular/upgrade": "~4.0.3",
    "angular-in-memory-web-api": "~0.3.1",
    "body-parser": "1.17.1",
    "bootstrap": "3.3.7",
    "chart.js": "^2.5.0",
    "core-js": "^2.4.1",
    "es6-shim": "^0.35.0",
    "fancybox": "3.0.0",
    "jquery": "3.2.1",
    "ng2-charts": "^1.5.0",
    "ng2-translate": "^5.0.0",
    "reflect-metadata": "^0.1.8",
    "rxjs": "5.3.0",
    "systemjs": "0.20.12",
    "zone.js": "^0.8.9"
  },
  "devDependencies": {
    "@types/node": "^7.0.13",
    "del": "2.2.2",
    "gulp": "3.9.1",
    "gulp-typescript": "3.1.6",
    "gulp-watch": "4.3.11",
    "merge": "1.2.0",
    "typescript": "^2.0.10",
    "typings": "^2.1.1"
  },
  "scripts": {
    "postinstall": "typings install"
  }
}

What might be the reason of those errors? H

回答1:

As the error clearly states, you are missing type definitions for hammerjs and jasmine. You can either add them to your typings definition file, or you can install the types packages directly:

npm install --save @types/hammerjs
npm install --save @types/jasmine