2012-04-25 10 views
3

私はfallowingコードを使用して、Windows GACフォルダ内のアセンブリのバージョンを取得します。リフレクション:アセンブリのバージョンが間違ったバージョン値を返す

FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(assembly.Location); 
       string productVersion = fvi.ProductVersion; 

上記のコードを実行した後、私は手動でRightClickを手動で実行し、アセンブリのバージョンを取得します。 productVersionによって返されたバージョンは、の一部のアセンブリに対しての値を手動で取得した値と異なります。 考えられる原因アセンブリオブジェクトの使用のファイルバージョンについては

+0

あなたはこれをチェックしましたか? http://stackoverflow.com/questions/5460199/fileversioninfo-fileversion-returns-productversion –

+0

差異の例(期待と実際)は役に立ちます... –

+0

バージョンリターンは15.0.xxxx.10000ですが、実際のバージョンは15.0です.yyyy.1000。これは、xxxxバージョンのアプリをインストールした後にアンインストールして、そのアプリのyyyyバージョンをインストールすると発生します。アプリのyyyyバージョンをインストールした後、すべてのdllはyyyyバージョンであるはずです。手動でチェックするときはOKです。しかし、この不一致はプログラム的なバージョンのチェック時に発生します。 –

答えて

4

var assembly = System.Reflection.Assembly.GetExecutingAssembly(); // the current assembly 

var version = assembly.GetName().Version.ToString(); 
+0

これは結果が15.0.0.0で、私が望むものではありません。私は15.0.yyyy.1000 –

+0

である幸いなことに、それは私が欲しいものです製品のバージョンを取得したい:) – JDPeckham

関連する問題