[解決済み] NugetをjQuery 1.9.x/1.xのパスで維持できますか(2.xにアップグレードする代わりに)?
質問
多くの人と同じように、私は jQuery Nugetパッケージ を使って最新情報を入手しています。
しかし、jQuery 2.0 のリリースに伴い、jQuery 1.9.1 を 2.0 にアップグレードするように要求されました。現時点では、私のサイトには「古い」バージョンのブラウザーを使用している訪問者が十分にいるので、1.9.x に固執して jQuery マイグレート .
パッケージ(jQueryまたはその他)の更新をチェックするときに、特定のバージョン(1.9.x)に固執するようにNugetに指示する方法はありますか?
私は Visual Studio 2010/2012 の拡張機能を使用していますが、この問題を回避するために VS 内のコマンド ライン インターフェイスを使用する必要がある場合、私は確かにそうします。
注意してください。 ひとつだけ頭の片隅にあるのは、アップデートをしくじったということです。jQuery 1.9.x と 2.0.x/2.x はかなり異なるので、代わりに jQuery 2(.0.x|.x) パッケージを作成すべきだったようです。
もちろん、そうすれば実際に 2.x にアップデートしたい人はそれを知って、インストールしたいパッケージを切り替えなければなりません。しかし、それが破壊的な変更を含んでいることを考えると、その方が良いのかもしれません。
どのように解決するのですか?
私の意見では、これはパッケージ作者側のミスです。いくつかのブラウザーのサポートを削除する更新は、別のバージョン 2 の nuget パッケージに作成され、それに応じて、つまり重要な免責事項とともに宣伝されるべきでした。1.9 ライブラリはレガシーではなく、将来的にさらなるアップデートが行われる予定です。私はパッケージの作者と連絡を取っており、返信があればさらに詳しく書くつもりです。
暫定的に、以下の構文でパッケージのバージョンを制限することができます。
packages.config
:
<package id="jQuery" version="1.9.1" allowedVersions="[1.9.1]" />
バージョン制約の詳細については、こちらをご覧ください。
http://docs.nuget.org/docs/reference/Versioning
設定を変更した後、アップデートによって jQuery パッケージが 2.0 リリースにアップグレードされることはないはずです。過去に UI パッケージマネージャが
allowedVersions
属性が尊重されないという問題がありました (
https://nuget.codeplex.com/workitem/1891
) を使用するため、この問題が発生した場合は、コマンドラインを使用する必要があるかもしれません。
しかし、パッケージのフィードが 2.0+ トラックになるため、1.9 ブランチが更新されたときに何が起こるかという問題は解決されません。レガシー」1.x バージョンをサポートするために特別に書かれた新しい nuget パッケージに切り替えるか、毎回手動でスクリプトをコピーする必要があると推測されます。
いずれにせよ、もっと分かったらこれを更新します。
編集してください。
パッケージの作者は、1.x と 1.x の両方の と 2.x パスの両方が将来サポートされること、つまり、パッケージフィードが分割されるのではなく、平行したバージョンを含むことを表明しています。私が見る限り、解決策はパッケージ設定レベルでバージョン制約を使用して 2.x バージョンへの更新を阻止することです。
<package id="jQuery" version="1.9.1" allowedVersions="[1.9.1,2)" />
(でminとmaxの両方を指定します。
allowedVersions
で指定することで、2.x バージョンに切り替わるリスクを負うことなく更新できるはずです。ところで、右の括弧は奇妙に見えますが、正しいです - それは「バージョン 2 よりも小さい」という意味です)
関連
-
[解決済み] jQueryを使って要素のIDを取得するにはどうすればよいですか?
-
[解決済み] jquery mobileでページ中央のグリッド表示
-
[解決済み] どのラジオボタンが選択されているかをjQueryで知るにはどうしたらよいですか?
-
[解決済み] jQueryでページを更新するにはどうすればよいですか?
-
[解決済み] jQueryで複数のクラスを持つ要素を選択するにはどうすればよいですか?
-
[解決済み] jQueryで名前を指定して要素を選択するには?
-
[解決済み] jQueryを使用してハイパーリンクのhref属性を変更する方法
-
[解決済み] どうすればjQueryに非同期ではなく、同期のAjaxリクエストを実行させることができますか?
-
[解決済み] packages.config にあるすべてのパッケージを NuGet にインストール/更新させるにはどうすればよいですか?
-
[解決済み] コマンドラインを使用してNuGetパッケージのキャッシュをクリアするにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] jQueryです。簡単なオーバーレイを作成するにはどうすればよいですか?
-
[解決済み] jQuery 複数のイベントで同じ関数を起動する
-
[解決済み] 複数のクラスを削除する(jQuery)
-
[解決済み] Google Maps APIでマウスのスクロールホイールによる拡大縮小を無効にする方法
-
[解決済み] 既存の非順序型リストにリストアイテムを追加する方法
-
[解決済み] jQueryで5秒待つには?
-
[解決済み] jQueryを使用してspanに値を設定する方法
-
[解決済み] jQueryのn番目の要素を取得する方法
-
[解決済み] Electron: jQueryが定義されていない
-
[解決済み】$(window).width()がメディアクエリとは違う