2014-04-01 4 views
11

솔루션 내에 두 개의 프로젝트가 있습니다.이 예제에서는 프로젝트 A와 B를 호출합니다.다른 프로젝트 app.config 속성에 액세스하고 있습니까?

A. 프로젝트 B가 프로젝트 A의 app.config 속성에 액세스 할 수 있습니까? 당신이 프로젝트 사이에 하드 종속성을 소개로

나는, 일반적으로 좋은 생각이 아니다 A.

string tfsUri = ConfigurationManager.AppSettings["TfsUri"]; 

답변

13

의의 app.config 내 응용 프로그램 키 문자열에 접근하고 싶습니다. 따라서 복사 - 붙여 넣기 설정 값을 사용하면 프로젝트 자체가 포함됩니다 (단,이 경우 구성 값이 중복됩니다).

프로젝트를 빌드 할 때 구성 종속성이 자동으로 해결되도록이 작업을 자동화 할 수도 있습니다.

다른 옵션이 있으며 각각 다른 경우를 사용하는 것이 좋습니다. 다른 옵션은 다음과 같습니다

0을 확인하십시오.
+0

덕분에이 변환! – Adrian

-5

프로젝트 A 구성 파일에서 동일한 값을 사용하지 않고 프로젝트 B에서 프로젝트 A의 속성에 액세스 할 수 없습니다.

2
 var path = @"C:\Users\Stephen\source\repos\SensurityConfigurationTool\Configuration.UI\App.config"; 
     string directory = Path.GetDirectoryName(path); 
     var pathRoot = Path.GetPathRoot(directory); 
     string file = Path.GetFileName(path); 


     ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap 
     { 
      ExeConfigFilename = Path.Combine(Path.GetFullPath(directory + "\\" + file)) 
     }; 

     System.Configuration.Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None); 

당신은 기본적으로 상대 경로를 얻을,이 포괄적 인 대답을 절대 경로로