angularjs 绝对输入 visual studio 2015
angularjs definitely typed visual studio 2015
我正在尝试让我的第一个 angularjs 项目在 Visual Studio 2015 年内运行。在我尝试迁移到 Typescript 之前一直运行良好。安装了 DefinitelyTyped 项目并收到大量错误消息。
重现方法如下:
- 创建一个空的ASP.NET 4.5.2 应用程序
- Nuget AngularJS 核心 1.4.4
- Nuget AngularJS.TypeScript.DefinitelyTyped 4.1.1(包括 jQuery 0.0.1)
- 添加一个空的 TypeScript 文件
添加
/// <reference path="typings/angularjs/angular.d.ts" />
到那个文件。
那是我收到 444 错误的时候,从
开始
Error TS2411 Property 'find' of type '{ (selector: string):
IAugmentedJQuery; (element: any): IAugmentedJQuery; (obj: JQuery):
IAugment...' is not assignable to string index type 'HTMLElement'.
TypeScript Virtual Projects l:\M\eigene dateien\visual studio
2015\Projects\WebApplication3\WebApplication3\Scripts\typings
\angularjs\angular.d.ts
知道我做错了什么或如何解决吗?
我检查了这个包,大部分错误似乎来自 jquery.d.ts 文件,它看起来很旧。该文件仍然使用 "bool" 而不是 "boolean",这是很久以前所做的重大更改。
我通过将 "jQuery.Typescript.DefinitelyTyped" 添加到项目来修复它,这将 jQuery.d.ts 文件升级到可以正确解析的版本。一旦我这样做了,所有的编译器错误都消失了。
这似乎是 nuget 包创作中的错误。我会考虑在 github.
上打开一个问题
希望对你有用。
更新:我在 GitHub https://github.com/borisyankov/DefinitelyTyped/issues/5446
中打开了这个问题
我遇到了同样的问题,但上述解决方案对我没有用。
jQuery.Typescript.DefinitelyTyped 已经安装,因为 angularjs.TypeScript.DefinetlyTyped 包需要它。
我通过以下方式修复了它:
- 卸载 angularjs 包。
- 卸载 angularjs.TypeScript.DefinetlyTyped 包。
- 卸载jQuery.Typescript.DefinitelyTyped
- 安装jQuery.Typescript.DefinitelyTyped
- 安装 angularjs.TypeScript.DefinetlyTyped 包。
- 安装 angularjs 包。
感谢迈克尔提供提示。
问题是由 VS 2015 中的 NuGet 引起的,因为它默认安装其依赖项的最旧版本,在本例中为 AngularJS DT 包安装古老的 jQuery DT 包,如解释 here。
我通过执行以下操作更简单地解决了这个问题:
- 管理项目的 NuGet 包
- 只显示已安装的包
- Select jquery.TypeScript.DefinitelyTyped
- 升级
- 尽情享受吧!
我正在尝试让我的第一个 angularjs 项目在 Visual Studio 2015 年内运行。在我尝试迁移到 Typescript 之前一直运行良好。安装了 DefinitelyTyped 项目并收到大量错误消息。
重现方法如下:
- 创建一个空的ASP.NET 4.5.2 应用程序
- Nuget AngularJS 核心 1.4.4
- Nuget AngularJS.TypeScript.DefinitelyTyped 4.1.1(包括 jQuery 0.0.1)
- 添加一个空的 TypeScript 文件
添加
/// <reference path="typings/angularjs/angular.d.ts" />
到那个文件。
那是我收到 444 错误的时候,从
开始Error TS2411 Property 'find' of type '{ (selector: string): IAugmentedJQuery; (element: any): IAugmentedJQuery; (obj: JQuery): IAugment...' is not assignable to string index type 'HTMLElement'. TypeScript Virtual Projects l:\M\eigene dateien\visual studio 2015\Projects\WebApplication3\WebApplication3\Scripts\typings \angularjs\angular.d.ts
知道我做错了什么或如何解决吗?
我检查了这个包,大部分错误似乎来自 jquery.d.ts 文件,它看起来很旧。该文件仍然使用 "bool" 而不是 "boolean",这是很久以前所做的重大更改。
我通过将 "jQuery.Typescript.DefinitelyTyped" 添加到项目来修复它,这将 jQuery.d.ts 文件升级到可以正确解析的版本。一旦我这样做了,所有的编译器错误都消失了。
这似乎是 nuget 包创作中的错误。我会考虑在 github.
上打开一个问题希望对你有用。
更新:我在 GitHub https://github.com/borisyankov/DefinitelyTyped/issues/5446
中打开了这个问题我遇到了同样的问题,但上述解决方案对我没有用。 jQuery.Typescript.DefinitelyTyped 已经安装,因为 angularjs.TypeScript.DefinetlyTyped 包需要它。
我通过以下方式修复了它:
- 卸载 angularjs 包。
- 卸载 angularjs.TypeScript.DefinetlyTyped 包。
- 卸载jQuery.Typescript.DefinitelyTyped
- 安装jQuery.Typescript.DefinitelyTyped
- 安装 angularjs.TypeScript.DefinetlyTyped 包。
- 安装 angularjs 包。
感谢迈克尔提供提示。
问题是由 VS 2015 中的 NuGet 引起的,因为它默认安装其依赖项的最旧版本,在本例中为 AngularJS DT 包安装古老的 jQuery DT 包,如解释 here。
我通过执行以下操作更简单地解决了这个问题:
- 管理项目的 NuGet 包
- 只显示已安装的包
- Select jquery.TypeScript.DefinitelyTyped
- 升级
- 尽情享受吧!