初期設定ファイルに含まれていないカスタムDLLがあります。それらは実行時にロードされます。このプロセスは.NET2.0の使用中には正常に機能しましたが、.NET 4.0を使用しているため、「呼び出されたメンバーは動的アセンブリでサポートされていません」というエラーメッセージが表示されます。
try
{
assem = Assembly.LoadFrom(fi.FullName); //fi is FileSystemInfo
}
catch (FileLoadException) {}
catch (BadImageFormatException) {}
catch (System.Security.SecurityException) {}
catch (ArgumentException) {}
catch (PathTooLongException) {}
私にとって、この問題はAspose dllのライセンスを埋め込んでいませんでした: http://www.aspose.com/community/forums/thread/423874/initializing-the-license-file.aspx
それらのコードは、ライセンスが検出されないときに動的アセンブリを挿入し、DLLの障害を引き起こします。また、動的アセンブリと互換性のない他のコードも多数挿入します。
これがサードパーティのdllでの登録使用を保証するための一般的なライセンス/アクティベーション方法であるかどうかわからないので、そうであれば、ここにGoogleに投稿します。
このエラーは、動的アセンブリで_Assembly.Load
_を呼び出すことができないために発生しています。動的アセンブリを使用する前に、それらを除外する必要があります。
var assemblies AppDomain.CurrentDomain.GetAssemblies().Where(p => !p.IsDynamic);
App.configファイルのこれにより、リモートソースからの「プラグイン」dllが可能になります。
<configuration>
<runtime>
<loadFromRemoteSources enabled="true"/>
</runtime>
</configuration>