86

ほとんどの人と同じように、私は最新の状態に保つためにjQuery Nuget パッケージを使用しています。

ただし、jQuery 2.0 のリリースにより、jQuery 1.9.1 を 2.0 にアップグレードするように求められるようになりました。現時点では、1.9.x とjQuery Migrateに固執したい「古い」バージョンのブラウザーを使用して、サイト全体に十分な数の訪問者がいます。

パッケージ (jQuery など) の更新をチェックするときに、Nuget に特定のバージョン (1.9.x) を使用するように指示する方法はありますか?

私は Visual Studio 2010/2012 拡張機能を使用していますが、この問題を回避するために VS 内でコマンド ライン インターフェイスを使用する必要がある場合は、必ず使用します。

注:私の心の奥底にあることの1つは、彼らが更新を台無しにしたということです. jQuery 1.9.x と 2.0.x/2.x はかなり異なるため、代わりに jQuery 2(.0.x|.x) パッケージを作成する必要があったようです。

もちろん、実際に 2.x に更新したい人は、それを知って、インストールするパッケージを切り替える必要があります。しかし、重大な変更が含まれていることを考えると、その方が良いのでしょうか?

4

4 に答える 4

117

私の意見では、これはパッケージ作成者側の間違いです。いくつかのブラウザーのサポートを削除する更新は、個別のバージョン 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バージョンをサポートするために特別に作成された新しいナゲットパッケージに切り替えるか、スクリプトを毎回手動でコピーする必要があると思います。

いずれにせよ、詳細がわかり次第更新します。

編集:

パッケージの作成者は、1.x2.x の両方のパスが将来サポートされる予定であると述べています。つまり、パッケージ フィードには、分割される代わりに並列バージョンが含まれます。私が見る限り、解決策は、パッケージ構成レベルでバージョン制約を使用して、2.x バージョンへの更新を防ぐことです。

<package id="jQuery" version="1.9.1" allowedVersions="[1.9.1,2)" />

(最小バージョンと最大バージョンの両方を指定allowedVersionsすると、2.x バージョンに切り替える危険を冒さずに更新できるはずです。ところで、右括弧は奇妙に見えますが、正しいです。これは「バージョン 2 未満」を意味します。)

于 2013-04-22T16:03:50.213 に答える
19

バージョンを指定してはどうですか?

PM> インストール-パッケージ jQuery -バージョン 1.9.1

参照: http://nuget.org/packages/jQuery/1.9.1

于 2013-04-22T08:41:21.060 に答える
8

Nuget には、1.x ブランチのみを追跡するjquery1 パッケージが含まれるようになったため、コア jQuery パッケージをこのパッケージに交換できるはずです。

于 2013-09-26T07:52:37.387 に答える
4

@TeYoU のために上から 2 つのソリューションを組み合わせました

まず、パッケージ マネージャー コンソールからパッケージをインストールしました。

ツール メニュー -> ライブラリ パッケージ マネージャー -> パッケージ マネージャー コンソール

PM> Install-Package jQuery -Version 1.9.1

次に、@Dave R. が言うように、packages.config を編集しました。

<package id="jQuery" version="1.9.1" allowedVersions="[1.9.1,2)" />

その後、Nuget Manager を使用して現在のバージョン (現在は 1.10.2) に更新しましたが、うまく機能しました。

于 2013-09-10T16:39:27.973 に答える