2012-01-19 10 views
0

私はクラスライブラリプロジェクトを持っています。私はこのプロジェクトで生成されたDLLを "gacutil/i [dllのパス]"というコマンドでGACにインストールしています。このDLLは、Windowsアプリケーションで使用されます。 Windowsアプリケーションが実行されると、dllの関数とプロパティに正常にアクセスします。 私はdllにいくつかの変更を加えました。私はGACから元のDLLをアンインストールし、必要な変更を加えて新しいdllをインストールします。今、Windowsアプリケーションがこのdllを使用すると、dllからの新しい変更はアプリケーションに反映されません。私は新しいdllをGACにインストールしたので、新しい変更がアプリケーションに反映されるはずです。 名前、バージョン、公開キートークンは、両方のdllで同じです。私は以前のdllをアンインストールし、新しいdllをGACにインストールしたので問題ではないと思います。dllに加えられた変更は、このdllを使用しているアプリケーションには反映されていません

私は何か間違っているのですか?解決策を提案してください。

私は、その更新中を確認するために、アプリケーションにバージョンを印刷するバージョンあなたのDLLをデバッグ目的を示唆しているおかげで、よろしく、 マユールマハジャン

+3

どのような変更を行いましたか?あなたのアプリを再コンパイルせずには見えない、想像できるいくつかの変更(定数の値など)があります。あなたが「Windowsアプリケーション」だと言えば、なぜこれがasp.netというタグが付いているのかわかりません。 –

+0

Windowsサービスを再起動しましたか?変更は、Windowsアプリケーション/サービスを停止してから再開する場合にのみ反映されます。それはメモリ内のDLLを保持します。 –

+0

あなたの提案はうまくいくと思う..!私はそれがメモリ内のDLLを保持していると思う。 Windowsのアプリ/サービスを再起動する方法を教えてください。私はプログラムでこれを再起動したくない(tahtは私のアプリではないことを意味する)。だから手動で提案してください。 – Mayur

答えて

1

。 System.Reflection名前空間を含めると、コードは次のようになります。

Assembly assembly = Assembly.LoadFrom("unknown.dll"); 
label.Text = assembly.GetName().Version.ToString(); 
+0

ベン、ありがとう、私は私のDLLをバージョンアップしたくありません。私はこの問題を解決する別の方法をしたい。私が1000回の変更を行っているかどうかを開発しているうちに、1000バージョンを作成する必要があるため、dllのバージョン管理はこの問題の解決策ではありません。 私はこのdllがメモリに格納されると思います。私はこれを解決するためのいくつかの方法を持つことができます..? – Mayur

関連する問題