2009-07-09 18 views
0

現在実行中のアセンブリがそれを参照し、その関数名と一致する場合にのみ、マネージコードを呼び出す必要があります。DLLが使用可能な場合は関数を呼び出しますか?

私はbLib.dllが存在しない場合は、その後、私は文句を言うか、クラッシュするために、このDLLを使用してプロジェクトを望んでいない機能に

Public Function TestReadableProperties() As String 

    ' Not sure where to go with this line 
    ' Dim names = Reflection.Assembly.GetExecutingAssembly.GetReferencedAssemblies() 


    Return bLib.bReflection.GetAllReadableProperties(Me) 
End Function 

を持っています。私は、依存するアセンブリのバージョンが矛盾していることについて警告しないようにしたいと思います。このコードはテストするのがいいですが、依存関係が起こった場合に機能を削除せずにこのライブラリの依存関係を削除したいと思います。

これは可能ですか?

+0

試着/キャッチ? VB.Netにはそうだよね? – MusiGenesis

+0

lol ...はい明らかにVB.netには:P –

答えて

0

シンプルな関数呼び出しをtryとcatch文の間に入れます。

Public Function TestReadableProperties() As String 
    Try 
     Return bLib.bReflection.GetAllReadableProperties(Me) 
    Catch 
     ''// bLib is not available, let's return nothing 
     Return Nothing 
    End Try 
End Function 

ファンキーなコメントを申し訳ありません。実際にはハイライトを騙して、実際にコメントとして表示するだけです。

+0

があります。 – Maslow

+0

確かに、残念ながら私はそれがどれが正確かわかりません。 e Exceptionをキャッチして、MessageBox.Show(ex.ToString、ex.GetType.ToString)を実行して、キャッチする正確なタイプを取得してください。 –

関連する問題