2013-07-02 2 views
0

현재 프로젝트에 문제가 있습니다. 나는 2 개의 개별 프로젝트가있는 솔루션을 가지고 있습니다. 첫 번째는 web.config 파일이있는 게시중인 프로젝트입니다. 두 번째는 .cs 파일 만 포함하고 app.config 파일과 Settings.settings 파일이 들어있는 Properties 폴더가있는 데이터 액세스 프로젝트입니다. 그래서 같이공유 .Net 웹 구성 파일 문제

:

Solution 
    DataProject 
     app.config 
     Settings.settings 
     Code.cs 

    PublishProject 
     Code Files 
     Web.config 

내 문제는 내가 해결이 게시 된 후 app.config 파일 설정을 편집 할 수 있도록하려는 것입니다,하지만 app.config 파일이 DataProject으로 출시됩니다. dll은 PublishProject의 bin 폴더에 있습니다. 이 때문에 게시 후 편집을 위해 app.config 파일에 액세스 할 수 없습니다.

app.config 파일을 다른 프로젝트의 Web.config 파일을 가리키는 링크 된 파일로 설정하려고했지만 설정 파일이 올바른 값으로 업데이트되지 않는 문제가있었습니다. Visual Studio에서 설정 파일을 열고 다시로드하지 않는 한 app.config 파일. 설정 파일의 값은 응용 프로그램 전체에서 사용되는 값입니다.

지금 해결 방법은 구성을 변경하고 프로젝트를 다시 게시하는 것입니다.

PublishProject에서 XML 파일을 만들고과 같이 개별 XML 태그에 app.config에서 데이터를 변환 : 다른 사람이 문제로 실행되는 경우

답변

0

, 여기 내가 사용 할 수 있었다 해결 방법입니다 :

<configuration>  
    <setting name="debug" serializeAs="String"> 
       <value>False</value> 
    </setting> 
</configuration> 

는이 작업을 수행하면, 대신 USI의, 당신의 코드에서 다음을 호출 할 수 있습니다

<Properties> 
    <debug>True</debug> 
</Properties> 

된다 Settings.settings 파일의 값을 사용하십시오.

XmlDocument doc = new XmlDocument(); 
String appPath = HttpContext.Current.Server.MapPath("~").ToString() + @"/App_Data/Properties.xml"; 
doc.Load(appPath); 
debug = Convert.ToBoolean(doc.SelectSingleNode("Properties/debug").InnerText.ToString()); 

참고 : 기본적으로 브라우저를 통해 해당 폴더에 액세스 할 수 없으므로 완성 된 프로젝트의 App_Data 폴더에 넣습니다.