J'essaie d'appeler une action personnalisée dans mon projet de déploiement d'installation & pour mettre à jour certains éléments dans le app.config de mon application. J'ai enveloppé la section de configuration personnalisée de la manière habituelle, par exemple .:FileNotFoundException dans le programme d'installation et de déploiement Visual Studio lors de la tentative de chargement de la configuration personnalisée
[ConfigurationProperty("serviceProvider", IsRequired = true)]
public string ServiceProvider
{
get { return (string)base["serviceProvider"]; }
set { base["dataProviderFactory"] = value; }
}
J'ai mis l'action personnalisée à appeler au cours de la section d'installation juste après l'installation base.Install (stateSaver). Le code est:
string exePath = string.Format("{0} MyApp.exe", Context.Parameters["DP_TargetDir"]);
SysConfig.Configuration config = ConfigurationManager.OpenExeConfiguration(exePath);
Configuration. MyApp section = Configuration.MyApp)config.GetSection("MyApp");
Quand je cours, j'obtiens cette erreur:
System.Configuration.ConfigurationErrorsException: An error occurred creating the configuration section handler for MyApp: Could not load file or assembly 'MyCompany. MyApp.Configuration' or one of its dependencies. The system cannot find the file specified. (C:\Program Files\MyCompany\MyApp\MyApp.exe.config line 5) ---> System.IO.FileNotFoundException: Could not load file or assembly 'MyCompany.MyApp.Configuration' or one of its dependencies. The system cannot find the file specified.
ligne 5 dans la configuration est:
<section name="MyApp"
type="MyCompany.MyApp.Configuration.MyApp, MyCompany.MyApp.Configuration"
requirePermission="false" />
La bibliothèque de classe avec le code d'installation (étant la seule classe dans cette bibliothèque) a une référence à l'ensemble de configuration.
Y at-il quelque chose de vraiment évident que je manque ici? Je ne peux pas comprendre pourquoi le ref de la config n'est pas trouvé.
Toute aide ou suggestion serait grandement appréciée.
essai juste et il semble que le code est exécuté dans C: \ WINDOWS \ system32 donc cela pourrait être la raison pour laquelle il ne peut pas l'amende la configuration personnalisée Assemblée. –