Je cherche à modifier la source du Agregistrateur de podcast Doppler dans le but de pouvoir être capable de Exécutez le programme directement à partir de mon lecteur MP3.
Doppler stocke les paramètres d'application à l'aide d'un concepteur Visual Studio généré classe de paramètres , qui par défaut Serialise les paramètres utilisateur dans le répertoire de base de l'utilisateur. Je voudrais changer cela afin que tous les paramètres soient stockés dans le même répertoire que l'EXE. P>
Il semble que cela soit possible en créant une classe de fournisseur personnalisée qui hérite du ParamètresProvider classe. Quelqu'un a-t-il créé un tel fournisseur et souhaiterait partager du code? P>
Mise à jour: strong> J'ai pu obtenir un fournisseur de paramètres personnalisés presque em> en utilisant cette utilisation. échantillon MSDN , c'est-à-dire avec une héritage simple. J'ai été initialement confus au fur et à mesure que Windows Forms Designer a cessé de travailler jusqu'à ce que je fasse cette astuce suggérée à CodeProject : p> internal sealed partial class Settings
{
private MySettingsProvider settingsprovider = new MySettingsProvider();
public Settings()
{
foreach (SettingsProperty property in this.Properties)
{
property.Provider = settingsprovider;
}
...
3 Réponses :
juste pour "fermer" la question: la solution quelque peu insatisfaisante que j'ai finie avec était p>
Il semble que les paramètres portables étaient tout ce qui était nécessaire pour rendre Doppler portable. Que je vais commencer à utiliser Doppler comme mon agrégateur de podcast principal ou coller avec mon agrégateur de ligne de commande homebrew, je verrai. P>
Il y a un nouveau commentaire à CodeProject pour la résolution de Winforms Designer Problème: codeProject.com/messages/3562657/... . Fondamentalement, vous devez inclure l'espace de noms dans le nom du fournisseur pour que le concepteur fonctionne.
Pourquoi ne pas utiliser la solution CODEPROJECT PORTABLETTSPROVIDAVIDER tel quel (avec quelques modifications mineures)? Je l'ai fait dans mon projet ( streamrecorder.net ) avec succès.
Certains commentaires sur la page du projet étaient utiles: p>
et le code que j'ai fini par: p> Enfin j'ai apporté ces modifications au projet CP: P> string _fileName;
public PortableSettingsProvider(string fileName)
{
_fileName = fileName;
}
public virtual string GetAppSettingsFilename()
{
//Used to determine the filename to store the settings
//return ApplicationName + ".settings";
return _fileName;
}
Je sais que cette question est déjà très ancienne. Je veux juste partager ma propre version d'un fournisseur de paramètres portatif que j'ai publié comme package Nuget ici .
L'utilisation est assez simple: p>
// make the default settings class portable PortableSettingsProvider.ApplyProvider(Properties.Settings.Default);