Je fais une application de bureau en C#, Visual Studio 2010 sur Windows XP SP2 Professional."Une tentative de joindre une base de données nommée automatiquement" erreur
Si j'exécute cette application directement à partir du dossier publié sans exécuter le programme d'installation OU que je l'exécute à partir du dossier de débogage OU simplement de déboguer l'application, cette erreur ne se produit pas. Mais si je lance l'installation à partir du dossier publié puis exécutez-le à partir du menu de démarrage, il donne cette erreur:
An attempt to attach an auto-named database for file C:\Documents and Settings\Desi\Local Settings\Apps\2.0\Data\K9KMBYK5.881\EKOOHKP2.0Y1\smas..tion_ddac366ea7cca062_0001.0000_c8a0800c5798ef15\Data\SmasDb.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.
Je publie application à un dossier dans « mes documents ».
C:\Documents and Settings\Desi\Local Settings\Apps\2.0\Data\K9KMBYK5.881\EKOOHKP2.0Y1\smas..tion_ddac366ea7cca062_0001.0000_c8a0800c5798ef15\Data\1.0.0.0 (this Data directory has only the user.config file.)
C:\Documents and Settings\Desi\Local Settings\Apps\2.0\LWGCKB30.QZJ\E81QYJON.ZX9\manifests (contains smas..tion_ddac366ea7cca062_0001.0000_none_a42d8ca7a940cae4.cdf-ms smas..tion_ddac366ea7cca062_0001.0000_none_a42d8ca7a940cae4.manifest smas.exe_ddac366ea7cca062_0001.0000_none_3d144d2ce016963b.cdf-ms smas.exe_ddac366ea7cca062_0001.0000_none_3d144d2ce016963b.manifest)
C:\Documents and Settings\Desi\Local Settings\Apps\2.0\LWGCKB30.QZJ\E81QYJON.ZX9\smas.exe_ddac366ea7cca062_0001.0000_none_3d144d2ce016963b (contains SMAS.exe.config, SmasDb.mdf, SmasDb_log.ldf)
C:\Documents and Settings\Desi\Local Settings\Apps\2.0\LWGCKB30.QZJ\E81QYJON.ZX9\smas..tion_ddac366ea7cca062_0001.0000_c8a0800c5798ef15 (this directory has all files including all dlls, SmasDb.mdf and SmasDb_log.ldf, SMAS.exe.config, some .cdf-ms and .manifest files NOT same as above .cdf-ms and .manifest)
Ceci est le problème. Le répertoire ci-dessus contient uniquement le fichier user.config. Tous les autres fichiers sont dans d'autres répertoires. Ajout de plus de détails à la question. – SMUsamaShah
Comment vous assurer que la base de données est copiée dans le répertoire de données? – SMUsamaShah
J'ai fait un très mauvais design je pense. Le connectionString, DataSet, et toutes les classes sont dans un autre projet dll dans la même solution. (J'ai fait cela parce que l'exigence était de faire une DLL au lieu de tout faire dans le projet principal) Maintenant, la solution possible est de s'assurer que les fichiers de base de données sont copiés dans DataDirectory. Comment faire ça? – SMUsamaShah