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