web-dev-qa-db-fra.com

Impossible d'ouvrir le fichier configSource ajouté en tant que lien

Dans mon application MVC, j'utilise des fichiers de configuration externes pour conserver un Web.config propre. Certains fichiers sont courants et je les ai ajoutés pour projeter en tant que lien à partir d’un emplacement. Pour ces fichiers, je règle l'option Copier sur Copier toujours et ces fichiers sont copiés dans le dossier de destination et je les vois. Mais lorsque j'essaie d'ouvrir la page d'accueil dans le navigateur, l'erreur "Impossible d'ouvrir le fichier configSource". Lorsque je supprime des liens vers des fichiers et que je les ajoute (aucun lien), tout fonctionne bien. Une idée de ce qui peut causer cette erreur?

11
Alexandr Zaitsev

Finalement j'ai trouvé quel était le problème. Lorsque vous utilisez toujours Copier, les fichiers sont copiés dans le dossier bin. Mais les fichiers sont recherchés dans le répertoire virtuel et non dans la corbeille. J'ai donc ajouté une tâche post-build qui copie les fichiers pour corriger la destination.

14
Alexandr Zaitsev

J'ai ajouté l'événement post-build comme suggéré. Mais les étapes exactes sont les suivantes:

  1. Faites un clic droit sur le projet et accédez aux propriétés
  2. Cliquez sur l'onglet Build Events
  3. Dans la ligne de commande de l'événement post-build:, j'ai ajouté:

xcopy/s "$ (rép_projet)\bin\config" "$ (rép_projet)\config"

7
John Lay

J'ai souffert du même problème. Dans mon cas, la propriété 'Action de compilation' du fichier de configuration était la cause. (Cliquez avec le bouton droit de la souris sur le fichier de configuration> Propriétés> Action de construction)

La valeur "Build Action" a été définie sur "None". Après que je l'ai changé en "Contenu", le problème s'est réglé. (Je ne sais pas si c'est "un bogue de Visual Studio" ou "mon clic par erreur" qui l'a réglé sur "Aucun".

4
김성훈

Après avoir essayé la solution xcopy, qui a échoué, la suite a fonctionné pour moi:

Cliquez avec le bouton droit sur cstrings.config, allez à Properties.

Définissez la propriété Copy to Output Directory sur Copy always

0
Edgar Salazar

Voir https://stackoverflow.com/a/38408867/2240453 Longue histoire courte: vous pouvez ajouter

<connectionStrings configSource="bin\Connections.config">  
</connectionStrings>

pour différencier la configuration (deploy/release donc debug/deploy version) Vous pouvez ajouter transformation . C'est assez pratique de les utiliser quand même.

(Oui, je sais que le sujet est résolu, mais peut-être que quelqu'un trouvera cette information utile comme je l'ai fait)

0
Tariktiri