Подтвердить что ты не робот

100+ ошибок в jQuery.d.ts с момента получения последнего через nuget в приложении MVC

С тех пор как я обновился до последнего файла определения jQuery.d.ts, используя диспетчер пакетов Visual Studio NuGet, теперь я получаю 100s ошибок в файле jQuery.d.ts.

Образцом ко всем ошибкам являются вертикальные строки, подобные этому:

index(selector: string|JQuery|Element): number;

который я предполагаю, указывает на необязательные типы. Ошибки в основном выглядят следующим образом:

\ Scripts\typings\jquery\jquery.d.ts(2797,34): ошибка TS1005: Build: ',' ожидается.

Значение по умолчанию для сборки было TypeScriptCompile, но изменение этого параметра на none не имеет эффекта.

Я запускаю Visual Studio 2013 Professional release 4, поэтому я предполагал, что у меня будет последняя версия TypeScript, но это похоже на проблему с версией.

Любые идеи о том, как решить проблему.

4b9b3361

Ответ 1

TypeScript был обновлен (январь 2015 г.) после выпуска Visual Studio 2013 версии 4 (ноябрь 2014 г.):

Вы можете получить последний компилятор TypeScript здесь: https://visualstudiogallery.msdn.microsoft.com/2d42d8dc-e085-45eb-a30b-3f7d50d55304

Кроме того, возможно, вам придется обновить параметр TypeScriptToolsVersion в любых старых файлах csproj:

Теперь они могут выглядеть так:

<TypeScriptToolsVersion>1.0</TypeScriptToolsVersion>

перейти к версии 1.4 для версии VS 2013 5:

<TypeScriptToolsVersion>1.4</TypeScriptToolsVersion>

Ответ 2

Если у вас есть существующий проект VS 2013, который использовал более раннюю версию TypeScript, и вы хотите обновить до последних пакетов 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);

Ответ 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>