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

Daa*_*lst 13 asp.net nuget-package typescript

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

Install-Package angularjs.TypeScript.DefinitelyTyped
Run Code Online (Sandbox Code Playgroud)

它出现在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"
},
Run Code Online (Sandbox Code Playgroud)

并且参考文献已放在"参考文献"下,链接到:

C:\ Users \用户.K \​​包\ angularjs.TypeScript.DefinitelyTyped\3.2.5

我可以通过使用绝对路径来引用它,但这不起作用:

/// <reference path="C:\Users\<user>\.k\packages\angularjs.TypeScript.DefinitelyTyped\3.2.5\Content\Scripts\typings\angularjs\angular.d.ts" />
Run Code Online (Sandbox Code Playgroud)

Angular依赖于jQuery,它将在以下内容中寻找:

'C:/用户// K /包/ angularjs.TypeScript.DefinitelyTyped/3.2.5 /内容/脚本/分型/ jquery的/ jquery.d.ts'

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

Max*_*din 11

目前angularjs.TypeScript.DefinitelyTypednuget包仅支持ASP.NET 4文件夹结构.它将文件放入您的~\Scripts\typings\angularjs\(参见nuget-automation source)文件夹中,您可以从那里引用它,如下所示:

/// <reference path="../scripts/typings/angularjs/angular.d.ts" />
Run Code Online (Sandbox Code Playgroud)

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

PS 随意在GitHub上的NugetAutomation中创建新问题.

  • 对于想知道这些包存储位置的人,请在浏览器的地址栏中键入:`%USERPROFILE%\.nuget\packages` (3认同)