1

各モジュールが独自のプロジェクトであるモジュール化されたアプリケーションがあります。その後、各モジュールを 1 つの dll にパッケージ化できます。

プロジェクトのルート内に「Scripts.config」と呼ばれるモジュールごとに独自のカスタム構成ファイルを追加しました。アプリケーション内のすべての Scripts.config ファイルを取得する方法があるかどうか疑問に思っていました。

次のコードは、特定の型のすべての実装を取得するために使用されます。

private IList<Type> GetTypes<T>() {
    return BuildManager.GetReferencedAssemblies().Cast<Assembly>().SelectMany(a => a.GetExportedTypes().Where(t => typeof(T).IsAssignableFrom(t) && !t.IsAbstract)).ToList();
}

私は同等のものを探していると思いますが、すべての「Script.config」ファイルを取得します。Scripts.config ファイルを埋め込むことができると思いますが、より良い解決策があるかどうか疑問に思っていました。

これを明確に説明していない場合は申し訳ありません。助けていただければ幸いです。ありがとう

4

1 に答える 1

0

リソースを埋め込むことが最善の方法だと思ったので。必要なアセンブリを取得し、アセンブリごとに次のコードを使用して、Scripts.config ファイルの内容を取得するだけです。

using (var stream = assembly.GetManifestResourceStream(assembly.GetManifestResourceNames().Single(n => n.EndsWith("Scripts.config")))) {
    using (var sr = new StreamReader(stream)) {
        var content = sr.ReadToEnd();
        ...
    }
}
于 2013-10-04T23:31:13.150 に答える