2011-12-29 2 views
1

私はカスタムコンフィグレーションを読み込むmsdnでこのチュートリアルに従ってきました。 http://msdn.microsoft.com/en-us/library/system.configuration.configurationcollectionattribute.aspx私はasp.netでこれをやっていると私はので、私はそれを削除し、ちょうどカスタムコンフィグレーションがnullを返す

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

誰かがコピーし、MSDNからのコードの過去と作るもらえを使用

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

上のエラーを取得しておきます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

をtype = "MyProject.UrlSection、MyProject" MyProjectの末尾に使用すると機能しました私はConfigurationCollectionAttribute、バージョン= 1.0.0.0、Culture =ニュートラル、PublicKeyToken = nullを使用すると、指定されたアセンブリまたは参照と別のものを見つけることができなかったと同じエラーを生成します – ONYX

+0

なぜ私はtype = "MyProject.UrlsSectionあなたはexample = "MyProject.UrlsSection、MyProject"の例です。 – ONYX

+0

これは、 'type =" namespace.classname、assemblyname "'を指定したものですので、 'UrlsSection'クラスはアセンブリ' MyProject'にはありません。それはまだ動作しません。それはまだ 'MyProject'ネームスペースに置くことができますが、アセンブリではありません。そのため、あなたのプロジェクト構造は私のものとは異なります。 –