Visual Studio NuGetパッケージマネージャーを使用して最新のjQuery.d.ts
定義ファイルに更新して以来、jQuery.d.tsファイル内で数百のエラーが発生します。
すべてのエラーのパターンは、次のような縦線です。
index(selector: string|JQuery|Element): number;
これはオプションのタイプを示していると思います。エラーは主に次のようになります。
\ Scripts\typings\jquery\jquery.d.ts(2797,34):エラーTS1005:ビルド: '、'が必要です。
デフォルトのビルドアクションはTypeScriptCompile
でしたが、これをnone
に変更しても効果はありません。
私はVisual Studio 2013 Professionalリリース4を実行しているため、最新のTypeScriptバージョンがあると想定していますが、これはバージョン管理の問題のようです。
問題を解決する方法に関するアイデア。
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の以前のバージョンを使用している既存のVS 2013プロジェクトがあり、jquery.d.tsまたはknockout.d.tsの最新のnuGetパッケージにアップグレードする場合、最新の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);
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>