私は非常に一般的なパターンを使用したと思います:
var result = from a in AppDomain.CurrentDomain.GetAssemblies()
from t in a.GetTypes()
where t.IsDefined(typeof(TAttribute), inherit)
select t;
Program.csからコードを呼び出すと、機能します。
また、フォームから呼び出すと、フォームによっては機能する場合があります。時々それはエラーを投げるだけです:Mindestens ein Typ in der Assembly kann nichtgeladenwerden。Rufen Sie die LoaderExceptions-Eigenschaft ab、wennSieweitereInformationenbenötigen。
詳細には次の情報があります。
{"Die Datei oder Assembly \" EntityFramework、Version = 4.2.0.0、Culture = neutral、PublicKeyToken = b77a5c561934e089 \"odereineAbhängigkeitdavonwurdenichtgefunden。DasSystemkann die angegebene Datei nicht finden。": "EntityFramework、Version = 4.2 .0.0、Culture = neutral、PublicKeyToken = b77a5c561934e089 "}
これは私にとってどういうわけか少し素晴らしいです。私の知る限り、EntityFrameworkはどこにも使用せず、ERとしてはTelerikのみを使用しています。
プロジェクトディレクトリで「findstr/s / i/mentityframework 。」を実行しました。
おかしなことに、Sybasedll「SQLAnywhere12\iAnywhere.Data.SQLAnywhere.v4.0.dll」で検出されました。
わかりました-これは、SybaseSQLデータプロバイダーに少し似ているようです。しかし、私が見る限り、EntityFrameworkは必要なく、プロジェクトも期待どおりに機能します。
この問題を解決するにはどうすればよいですか?言っているように:私はAppdomainを解析したいのですが、いくつかのサードパーティのdllは解析しません。または、エラーを無視する方法はありますか?