Assembly
ポータブルエリア内で実行されているアクションがあり、それを呼び出したエリアに関する情報を取得する必要があります。ポータブルエリアはプロジェクト内にCore
あり、クライアントアプリによって参照されますClient
。
GetAssembly
そして両方ともアセンブリをGetExecutingAssembly
返します:Core
// Both are Core
assembly = Assembly.GetAssembly(GetType());
assembly = Assembly.GetExecutingAssembly();
私の次の考えは使用することでしたGetCallingAssembly
、しかしそれは戻ってきますAnonymously Hosted DynamicMethods Assembly.
assembly = Assembly.GetCallingAssembly();
他の唯一のオプションはGetEntryAssembly
、です。これはnullです。
assembly = Assembly.GetEntryAssembly();
私がやりたいのはClient
、組み込みのフレームワークを使用してアセンブリへの参照を取得することです。明らかに、このアクションにその情報を取得するために、いくつかの派手な依存性注入または他のあまり洗練されていない方法を使用することができます。ただし、これを行うためのより良い組み込みの方法があるかどうか疑問に思っています。
明確化:ここで取得しようとしているのは、クライアントアセンブリのバージョン情報です。VersionInfo
各クライアントがそのエリアに存在するパーシャルにアクセスしCore
、レンダリングされたページにビルドバージョン情報を追加できるようにします。したがって、のアクションはCore
、バージョン情報を反映できるように、それを呼び出したアセンブリを知る必要があります。