2010-09-08 164 views

回答

3

像@Dave一樣,我假設你是指應用程序配置文件。在這種情況下「不容易」。你可以做到這一點,但它涉及產生第二0123'與定製AppDomainSetup.ConfigurationFile。說實話,我不認爲這是值得的努力,但下面的作品(第二次打印"bar") - 但首先警告:這將是一個痛苦,特別是像解決方案的路徑,證據等直接的東西。我真的不打擾...

class Program 
{ 
    static void Main(string[] args) 
    { 
     Console.WriteLine(ConfigurationManager.AppSettings["foo"]); 
     if (!args.Contains("run")) 
     { 
      AppDomainSetup setup = new AppDomainSetup(); 
      setup.ConfigurationFile = "foo.xml"; 
      AppDomain dmn = AppDomain.CreateDomain("Foo", null, setup); 
      dmn.ExecuteAssembly(Assembly.GetEntryAssembly().CodeBase, 
       new string[] { "run" } /* crude exit condition */ 
      ); 
     } 
    } 
} 

與配置文件:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <appSettings> 
    <add key="foo" value="bar"/> 
    </appSettings> 
</configuration> 
1

您還可以創建自定義欄目幾乎是空的配置文件。然後使用自定義節的configSource屬性來指定外部配置文件。這個外部文件可以有你想要的任何擴展名。從.exe.config文件與

提取物:

<configuration> 
    <configSections> 
    <section name="mappings" type="MappingsSection, [AssemblyName]"/> 
    <configSections> 
    <mappings configSource="Mappings.conf" /> 

從mappings.conf提取物:

<?xml version="1.0" encoding="utf-8" ?> 
<mappings> 
... 
</mappings> 

要創建自定義欄目,您可以使用this page