如何使用 NuGet 包管理器访问 ASP.NET 5 中的 TypeScript 定义?

How do I access TypeScript definitions in ASP.NET 5 with the NuGet package manager?

我无法理解如何访问使用 NuGet 包管理器安装的 TypeScript 定义文件。我使用以下命令为 Angular 安装了 TypeScript 定义文件:

Install-Package angularjs.TypeScript.DefinitelyTyped

它出现在 project.json 文件中:

"dependencies": {
    "Microsoft.AspNet.Server.IIS": "1.0.0-beta3",
    "Microsoft.AspNet.Mvc": "6.0.0-beta3",
    "Microsoft.AspNet.StaticFiles": "1.0.0-beta3",
    "Microsoft.AspNet.Server.WebListener": "1.0.0-beta3",
    "angularjs.TypeScript.DefinitelyTyped": "3.2.5"
},

并在 'References' 下放置了一个引用,链接到:

C:\Users\.k\packages\angularjs.TypeScript.DefinitelyTyped.2.5

我可以使用绝对路径引用它,但这行不通:

/// <reference path="C:\Users\<user>\.k\packages\angularjs.TypeScript.DefinitelyTyped.2.5\Content\Scripts\typings\angularjs\angular.d.ts" />

Angular 取决于 jQuery,它将在以下位置查找:

'C:/Users//.k/packages/angularjs.TypeScript.DefinitelyTyped/3.2.5/Content/Scripts/typings/jquery/jquery.d.ts'

所以我的问题是:如何引用作为 NuGet 包安装的 TypeScript 定义文件?

目前 angularjs.TypeScript.DefinitelyTyped nuget 包仅支持 ASP.NET 4 个文件夹结构。它将文件放在您的 ~\Scripts\typings\angularjs\,(请参阅 nuget-automation source)文件夹中,您可以像这样从那里引用它:

/// <reference path="../scripts/typings/angularjs/angular.d.ts" />

为了在 ASP.NET 5 中使用类型,您只需将 *.d.ts 文件从 \packages\angularjs.TypeScript.DefinitelyTyped\[VERSION] 复制到您的项目可访问的任何文件夹,并相应地更改引用路径。

P.S。欢迎在 GitHub 上的 NugetAutomation 中创建新问题。