2017-04-09 3 views
0

同じソリューション内に2つのプロジェクト{A、B}があります。 プロジェクトAにあるapp.configにアクセスします。プロジェクトB. 次のコードは、プロジェクトB内のクラスで実行されます。AssistantClassはプロジェクトA内にあり、binパスにアクセスしようとしていて、Execonfigsを取得しようとしていますが、プロジェクト内に、 B not app.configがどこにあるか。何か案は ?あなたがAssistantClassのパスを取得しようとすると同じソリューション内の別のプロジェクトからApp.Configを取得する方法

string path = Assembly.GetAssembly(typeof(AssistantClass)).Location; 
var localV = System.IO.Path.GetDirectoryName(path); 
var locs = ConfigurationManager.OpenExeConfiguration(localV); 

答えて

1

、それに参照され、あなたがしなければならないB.から実行しているアセンブリの一部でされると、それは、Bのbinフォルダを投影するパスを与えることが期待されます相対パス(.. \ .. \ ProjectA \ App.config)を使用して、その設定ファイルにアクセスします。しかし、これもアイドル状態のソリューションではありません。このアセンブリを展開すると、そのままの状態ではソリューション構造が作成されない可能性があります。コンパイル中に必要な設定ファイルが毎回同じ相対フォルダに出力されるようにする必要があります。

関連する問題