0

Asp.Net MVC 3用の拡張パッケージが企業のnugetサーバーにあります。たとえば、パッケージIDが現在Acme.Mvcで、バージョンがであるとし2.xます。

私は今、そのプロジェクトを分岐させ、MVC4ベータを対象とした同じパッケージのプレリリースバージョンを配置する予定です。3.x論理的には、これはライブラリのバージョンになります。ただし、リリースするとすぐに(プレリリースではなくなった後)、2.xVSのUIに表示されなくなります。これにより、他の開発者がMVC3プロジェクトに追加する可能性があります。v2.xまた、コンソールを使用せずに、古いライブラリへの将来のアップグレードに簡単にアクセスできないようにします)。

他のいくつかのケースでは、パッケージIDを変更してバージョンを含めました。つまりAcme.Mvc.3、新旧を並べて配置できるようにしています。それに関する唯一の問題は、誰かが両方を試して含めることができるということです!v3.x呼び出すのが必ずしも正しいとは限らないという、やや衒学的な問題もあります。新しいパッケージだからです。

また、私は本当に両方のストリームを維持できる必要があります。MVC3をターゲットとするライブラリのバージョンを参照しているMVC4サイトのバインディングリダイレクトに頼ることができます。私の拡張機能はどれも、なくなったものに依存していないからです。

公開されているNugetフィードを見ると、パッケージIDにメジャーバージョンを貼り付けるというこの慣習はめったに見られませんが、本当に代替手段はありますか?

4

1 に答える 1

0

サポートされているバージョンを区別するために、命名規則の一部としてMVCバージョンを使用する既存のパッケージは多数あります。WindowsAzure.WebRole.MVC3Unity.Mvc3 Spark.Web.Mvc2 Spark.Web.Mvc3 .. ..

「それに関する唯一の問題は、誰かが両方を試して含めることができるということです!」

私はこのケースをブロックしようとはしません。パッケージの名前から、両方が並んでいることを意図していないことは明らかです。

于 2012-05-23T01:53:16.637 に答える