2016-06-24 26 views
0

プロジェクト(DLL)を作成し、他のプロジェクトの参照を追加しました。どのようにこの「カスタム」参照のリストを取得できますか?プロジェクトのカスタム参照を取得する

私はこのコードを書いていますが、私の参考文献は返しません。

public List<string> getDependencies() 
    { 
     List<string> lDependencies = new List<string>(); 

     Assembly module = typeof(DummyModule).Assembly; 
     foreach (AssemblyName an in module.GetReferencedAssemblies()) 
     { 
      lDependencies.Add(an.Name); 
     } 

     return lDependencies; 
    } 

ありがとうございます。

答えて

0

正しいコードが見つかりました!

マイ「DummyClass.cs」

public class DummyModule 
{ 
    public List<string> getDependencies() 
    { 
     List<string> lDependencies = new List<string>(); 

     var assembly = Assembly.ReflectionOnlyLoadFrom(Assembly.GetExecutingAssembly().Location); 
     var referencedAssemblies = assembly.GetReferencedAssemblies(); 

     foreach (var assemblyName in referencedAssemblies) 
     { 
      lDependencies.Add(assemblyName.Name); 
     } 

     if (lDependencies.Contains("mscorlib")) 
      lDependencies.Remove("mscorlib"); 

     return lDependencies; 
    } 

    public void A() 
    { 
     Cryptography c = new Cryptography(); 
    } 
} 

コンストラクタ「暗号」は、私が作成したSecurity.dllのクラスであり、私は私の実際のプロジェクトにあなたの参照を追加しました。

"getDependencies"メソッドを使用すると、プロジェクトに追加されたすべてのカスタム参照を取得することができます。参照コードを使用する場合のみです(コンストラクタ "暗号化"を追加した理由です)。

"mscorlib"(NET Frameworkのデフォルトdll)を削除すると、すべての参照がプロジェクトに追加されます。

シンプル、右? :)

+0

* "コンストラクタ" Cryptography "は私が作成したSecurity.dllのクラスで、私の実際のプロジェクトへの参照を追加しました" *これはあなたと話しているようですが、これには他のコメントはありません質問。このテキストを他の場所からコピーしましたか? –

+0

@ScottChamberlainいいえ!正しいコードを見つけたので、他の人と分かち合うのが良いと思いました。私はどこかからこのテキストをコピーしない、私の答えは= D – jsfelipearaujo

関連する問題