2009-05-13 6 views
0

Comme il devrait être le fichier app.config dans une application Windows Form afin que les classes d'accès données, ils génèrent automatiquement dans la construction?SubSonic et app.config sous Windows Form

+0

Je pense que la question [reformulée] est "Comment configurer mon app.config pour que les classes subsoniques soient automatiquement générées dans le cadre de la construction?" –

Répondre

1

Oui. Ce que vous faites est d'ajouter une section dans configSections appelé « SubsonicService », comme ceci:

<configSections> 
    <section name="SubSonicService" type="SubSonic.SubSonicSection, SubSonic" requirePermission="false"/> 
</configSections> 

Ensuite, vous ajoutez une branche connectionStrings avec les chaînes de connexion que vous utiliserez dans votre projet, comme celui-ci:

<connectionStrings> 
    <clear/> 
    <add name="WheelMUDSQLite" connectionString="Data Source=C:\Dev\WheelMud.net\src\SQL\SQLite\WheelMud.net.db;Version=3;"/> 
</connectionStrings> 

Enfin, vous ajoutez le nœud SubsonicService que vous avez ajouté dans les configSections comme ceci:

<SubSonicService defaultProvider="WheelMUDSQLite"> 
    <providers> 
     <clear/> 
     <add name="WheelMUDSQLite" type="SubSonic.SQLiteDataProvider, SubSonic" connectionStringName="WheelMUDSQLite" generatedNamespace="WheelMUD.DataLayer"/> 
    </providers> 
</SubSonicService> 

C'est là que vous mettez tous vos fournisseurs. J'utilise l'utilitaire SubStage pour générer le DAL. De cette façon, vous pouvez complètement dissocier votre contenu des bits Web fournis avec Subsonic.

1

Votre processus de construction doit inclure une commande comme ceci:

sonic.exe generate /config "c:\myproject\App.config" 

sonic.exe est l'utilitaire SubCommander, et est inclus dans le current release. Il n'y a aucun moyen d'avoir le app.config gérer cela pour vous directement. Une méthode d'exécution de la commande est MSBuild. La tâche Exec MS Build task pourrait ressembler à ceci:

<Target Name="GenerateSubSonicClasses" DependsOn="BeforeBuild"> 
    <Exec Command="sonic.exe generate /config &quot;c:\myproject\App.config&quot;" WorkingDirectory="c:\path-to-subcommander"/> 
</Target> 

Je viens de faire ça, donc il a besoin probablement peaufinage avant que ça va marcher pour vous. Cette commande irait dans votre projet de studio visuel projet (par exemple someproject.vbproj).