2011-12-29 2 views
1

사용자 지정 configSection을로드하는 msdn에서이 자습서를 수행했습니다. http://msdn.microsoft.com/en-us/library/system.configuration.configurationcollectionattribute.aspx 내가 asp.net에서이 일을하고있어 내가사용자 지정 ConfigSection 반환 null

System.Configuration.Configuration config = 
       ConfigurationManager.OpenExeConfiguration(
       ConfigurationUserLevel.None) as Configuration; 

에 오류가 계속 그래서 나는 그것을 제거하고 단지 다른 사람이 복사 할 수

UrlsSection myUrlsSection = 
      ConfigurationManager.GetSection("MyUrls") as UrlsSection; 

을 사용 MSDN의 코드 과거와을 asp.net에서 프로젝트를 테스트하고 코드를 테스트하여 동일한 오류가 발생하는지 확인하거나 myUrlsSection = null인지 확인하십시오. 문제가 발생하지 않으면 작업 한 내용을 공유 할 수 있습니까?

+0

섹션을 delcaring하고 사용하는 web.config 항목을 게시 할 수 있습니까? 가능한 경우 UrlsSection 클래스의 선언을 게시하십시오. –

+0

방금 ​​튜토리얼의 내용을 복사하여 붙여 넣었습니다 – ONYX

답변

3

이것은 내가 시도한 것입니다. 그리고 그것은 잘 작동합니다.

UrlsSection myUrlsSection = 
      ConfigurationManager.GetSection("MyUrls") as UrlsSection; 

UrlsSection 클래스

namespace MyProject 
{ 
    public class UrlsSection : ConfigurationSection 
    { 
    } 
} 

그리고 내 config 항목.

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
    <section name="MyUrls" type="MyProject.UrlsSection, MyProject" /> 
    </configSections> 
    <MyUrls /> 
</configuration> 
+0

형식을 사용하면 효과적이었습니다. "MyProject.UrlSection, MyProject"MyProject 지정된 어셈블리 또는 참조 및 내가 ConfigurationCollectionAttribute, 버전 = 1.0.0.0, Culture = neutral, PublicKeyToken = null을 사용할 때 같은 오류가 발생합니다. – ONYX

+0

대신 왜 형식 = "MyProject.UrlsSection을 사용해야합니다. 당신은 example type = "MyProject.UrlsSection, MyProject"입니다. – ONYX

+0

이것은'type = "namespace.classname, assemblyname"'을 지정하는 것입니다. 분명히 클래스'UrlsSection'은 어셈블리'MyProject'에 있지 않습니다. 그것은 작동하지 않습니다. 그것은 여전히 ​​MyProject 네임 스페이스에 위치 할 수 있지만 어셈블리는 아닙니다. 그래서 프로젝트 구조가 내 것과 다릅니다. 그게 전부입니다. –