自从在 MVC 应用程序中通过 nuget 获取最新信息后,jQuery.d.ts 中出现 100 多个错误
Posted
技术标签:
【中文标题】自从在 MVC 应用程序中通过 nuget 获取最新信息后,jQuery.d.ts 中出现 100 多个错误【英文标题】:100+ errors in jQuery.d.ts since getting latest via nuget in MVC application 【发布时间】:2015-04-18 00:59:05 【问题描述】:自从我使用 Visual Studio NuGet 包管理器更新到最新的 jQuery.d.ts
定义文件后,我现在在 jQuery.d.ts 文件中发现了 100 多个错误。
所有错误的模式是这样的垂直线:
index(selector: string|JQuery|Element): number;
我认为这表示可选类型。错误大多看起来像:
\Scripts\typings\jquery\jquery.d.ts(2797,34): 错误 TS1005: Build: ',' 预期。
默认构建操作是TypeScriptCompile
,但将其更改为none
无效。
我正在运行 Visual Studio 2013 Professional 第 4 版,因此假设我将拥有最新的 TypeScript 版本,但这看起来像是版本问题。
关于如何解决问题的任何想法。
【问题讨论】:
【参考方案1】:TypeScript 在 Visual Studio 2013 第 4 版(2014 年 11 月)之后更新(2015 年 1 月):
你可以在这里获得最新的 TypeScript 编译器: https://visualstudiogallery.msdn.microsoft.com/2d42d8dc-e085-45eb-a30b-3f7d50d55304
此外,您可能需要更新任何旧 csproj 文件中的 TypeScriptToolsVersion
设置:
它们目前可能看起来像这样:
<TypeScriptToolsVersion>1.0</TypeScriptToolsVersion>
将 VS 2013 第 5 版更改为 1.4:
<TypeScriptToolsVersion>1.4</TypeScriptToolsVersion>
【讨论】:
您可能还必须通过删除 TypeScript 1.0 的路径来更新路径环境变量...以使命令行工具正常工作。【参考方案2】:如果您有一个使用较早版本的 TypeScript 的现有 VS 2013 项目,并且您想升级到最新的 nuGet 包 jquery.d.ts 或 knockout.d.ts,安装最新的 TypeScript 编译器是不够的.
从安装最新的 TypeScript 后
https://visualstudiogallery.msdn.microsoft.com/2d42d8dc-e085-45eb-a30b-3f7d50d55304
您需要编辑项目定义文件以启用 1.4 版功能。这是通过更改行来完成的
<TypeScriptToolsVersion>1.0</TypeScriptToolsVersion>
到
<TypeScriptToolsVersion>1.4</TypeScriptToolsVersion>
另外,请注意您的 TS 代码也可能需要一些更改。具体来说,FormData 构造函数不再将 html 元素作为参数。最简单的解决方法是更改如下代码:
var formData = new FormData(<HTMLFormElement>$("#form")[0]);
到
var formEl = <HTMLFormElement>$("#form")[0];
var formData = new window['FormData'](formEl);
【讨论】:
***.com/questions/23245395/…【参考方案3】:从 Visual Studio 2013 升级到 Visual Studio 2015 后,我遇到了同样的错误。
我按照其他答案中的建议将<TypeScriptToolsVersion>1.0</TypeScriptToolsVersion>
更改为<TypeScriptToolsVersion>1.4</TypeScriptToolsVersion>
,它似乎有效,尽管Visual Studio 2015 有一条警告建议我完全删除该行。
因此,对于 Visual Studio 2015,从受影响的 .csproj
文件中删除以下行似乎效果更好:
<TypeScriptToolsVersion>1.0</TypeScriptToolsVersion>
【讨论】:
以上是关于自从在 MVC 应用程序中通过 nuget 获取最新信息后,jQuery.d.ts 中出现 100 多个错误的主要内容,如果未能解决你的问题,请参考以下文章
如何在 MVC 控制器中通过 WebApi 从 HTML 页面发布数据
在ASP.NET MVC中使用NuGet添加SignalR类库之后,再次运行程序时,它出现了一个异常:
如何在 ASP.NET MVC3 中通过 HTTPS 提供静态文件(在 ~/Content 中)