自从在 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 版功能。这是通过更改行来完成的 &lt;TypeScriptToolsVersion&gt;1.0&lt;/TypeScriptToolsVersion&gt; &lt;TypeScriptToolsVersion&gt;1.4&lt;/TypeScriptToolsVersion&gt;

另外,请注意您的 TS 代码也可能需要一些更改。具体来说,FormData 构造函数不再将 html 元素作为参数。最简单的解决方法是更改​​如下代码: var formData = new FormData(&lt;HTMLFormElement&gt;$("#form")[0]); var formEl = <HTMLFormElement>$("#form")[0]; var formData = new window['FormData'](formEl);

【讨论】:

***.com/questions/23245395/…【参考方案3】:

从 Visual Studio 2013 升级到 Visual Studio 2015 后,我遇到了同样的错误。

我按照其他答案中的建议将&lt;TypeScriptToolsVersion&gt;1.0&lt;/TypeScriptToolsVersion&gt; 更改为&lt;TypeScriptToolsVersion&gt;1.4&lt;/TypeScriptToolsVersion&gt;,它似乎有效,尽管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 中)

MVC5使用SignalR进行双向通信

在 ASP.NET MVC Core 3.1 中通过 jQuery 为部分视图附加 html 的问题

MVC中通过jquery实现图片预览上传,并对文件类型大小进行判断(极简)