ASP.NET Web アプリケーション/サイトと統合できるキャッシュ無効化コードをライブラリに実装したいと考えています。これは、URL の末尾にバージョン文字列を追加することで実装されます。キャッシュ無効化のために提供したい既定のバージョン プロバイダーは、ホスト Web サイトのアセンブリ バージョンを使用します。
現在、これは基本的に、このバージョン番号を抽出する方法です。
HttpContext.Current
.ApplicationInstance
.GetType()
.Assembly
.GetName()
.Version
.ToString()
残念ながら、少なくとも私のサンプル テスト サイトでは、アプリケーション インスタンスは生成されたアセンブリです (新しいアセンブリにコンパイルされるAssembly
ためだと思います)。global.asax
現在実行中のアセンブリに関係なく、Web アプリケーション アセンブリ名の取得で、実際のサイト アセンブリのタイプを取得するために使用できると SLaks は述べていますが、サイトがファイルをBaseType
使用していない場合は、BCL で何かが得られると思います。global.asax
BaseType
ASP.NET Web アプリケーションのアセンブリ バージョン番号を抽出する信頼できる方法はありますか? また、アプリケーション開発者が追加のビルド手順を必要としない、ビルドごとに固有のトークンを生成するための代替アプローチも考えています。