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, но это похоже на проблему с версией.
Любые идеи о том, как решить проблему.
Ответы
Ответ 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>