5

MiniProfiler.MVC3 NuGetパッケージでは、MiniProfiler設定(使用するSqlFormatter、ViewEngineの変更、MiniProfilerの起動時期など)を制御するために使用されるファイルをApp_Startに作成します。

このファイルには、コードを変更して希望どおりに実行する方法について説明しているTODOコメントがたくさんあります。これはすばらしいことですが、NuGetパッケージが更新されると、ファイルが変更されたことがわかり、更新されたバージョンをプルダウンしません。ここでの問題は、そのファイルへの更新が失われ、パッケージで更新された他の内容によっては使用できなくなることです(たとえば、App_StartでMiniProfiler.csを変更した後にMiniProfiler.MVC3をバージョン1.9からバージョン2.0.1にアップグレードする場合) 、2.0.1バージョンでそのファイルに必要な変更が加えられたため、プロジェクトはビルドされなくなります)。

これを処理するための最良の方法は何ですか?NuGetパッケージのファイルを変更せずに、App_Startで独自のファイルを作成して、NuGetパッケージの最新バージョンにアップグレードするときに常に完全な更新を取得できるようにする必要がありますか?

4

3 に答える 3

1

App_Startでファイルをバックアップし、更新してから、手動で、またはマージツールを使用してファイルをマージできます。ソース管理を使用している場合は、とにかくこれを行うことになります。

于 2012-05-02T16:41:35.133 に答える
0

クイックアンドダーティ:必要なファイルを作成します。その後、ナゲットでアップグレードするたびにコピーオーバー/マージします。またはすべてのコンパイルで。追加されたビルド時間はごくわずかです。

少し良い:ビジュアルスタジオでプリコンパイルイベントを使用し、ファイルを比較します。それらが異なる場合は、コピーするか、ユーザーに伝えてください。頭のてっぺんにメッセージボックスなどを表示する方法がわかりませんが、コンパイルエラーと「xxxファイルの不一致」の近くにテキストがある新しいファイルをいつでも作成できます。

于 2012-05-02T19:34:36.253 に答える
0

水銀キューを使用してみてください。コードを目的のポイント(参照するファイルを除く)に到達させてから、コミットすることができます。ファイルに変更を加えて、キューにプッシュします。必ず将来の更新から(手動で)除外してください。パッケージを更新する場合は、コードベースからポップしてください。これにより、以前のように表示され、nugetの更新が実行されます。次に、キューをコードにプッシュバックすると、変更が再適用されます。少し手間がかかるかもしれませんが、一見の価値があります。

参考のために:

于 2012-05-04T16:53:16.447 に答える