J'ai finalement trouvé une solution de rechange que je n'aime pas mais je dois continuer. Pour contourner ce problème, j'ai ajouté les bibliothèques requises à la racine de mon projet en tant que liens et toujours définir le BuildAction
à Content
et CopyToOutputDirectory
à.
Je pensais que je l'expliquerais avec un exemple car cela pourrait avoir un peu plus de sens.
Chemin du projet: C: \ Work \ MyApp et il contient les sous-dossiers suivants:
D: \ Work \ MyApp \ MyApp.csproj D: \ Work \ MyApp \ MyApp.xaml .. D: \ Work \ MyApp \ Bin \ Déboguer D: \ Work \ MyApp \ Bin \ Libérer D: \ Work \ MyApp \ Bin \ Libérer \ MyApp.exe D: \ Work \ MyApp \ Depedencies \ LibA. dll D: \ Work \ MyApp \ Depedencies \ LibB.dll etc ...
Les bibliothèques sont des outils tiers et sont en fait dans leur propre dossier:
D: \ Tools \ MyThirdPartyLib \ Distributation \ LibA.dll D: \ Tools \ MyThirdPartyLib \ Distributation \ LibB.dll
En ayant les bibliothèques dans D: \ Work \ MyApp \ dépendances ne fonctionne pas comme ClickOnce
installerait l'application dans:
C: \ Users \\ AppData \ local \ Apps \ 2.0 ... \ MyApp.exe
et installé les fichiers situés dans le sous-dossier dépendances:
C: \ Users \\ AppData \ Local \ Apps \ ... \ 2.0 dépendances \ LibA.dll C: \ Users \\ AppData \ Local \ Apps \ 2.0 ... \ dépendances \ LibB.dll
qui a causé mon application à ne pas travailler.
Pour contourner, je fini par ajouter LibA.dll et LibB.dll à la racine de mon projet comme « fichiers liés » et définir leurs BuildAction
et CopyToOutputDirectory
mais pas en pointant les fichiers liés à
D : \ Work \ MyApp \ Dépendances \ LibA.dll D: \ Work \ MyApp \ Depedencies \ LibB.dll
mais les signaler:
D: \ Tools \ MyThirdPartyLib \ Distributation \ LibA.dll D: \ Tools \ MyThirdPartyLib \ Distributation \ Libb .dll
Et cela semble avoir fait l'affaire. Mon seul boeuf à ce sujet est que maintenant j'ai 10 fichiers impairs répertoriés dans la racine de mon projet en studio visuel que je n'aime pas:
MyApp Solution
- MyApp Project
- MyApp.csproj
- MyApp.xaml
- ...
- LibA.dll
- LibB.dll
- ...
mais il faudra le faire pour l'instant.
Espérons que cela aide les autres!
Cliquez sur le projet -> Propriétés -> Construire -> Sortie -> Chemin de sortie, fin ajoutez simplement ../Debug au lieu de Debug, ou un autre chemin relatif – sTrenat
Le problème n'est pas avec l'emplacement de construction mais avec les sorties ClickOnce fichiers qui sont contenus dans les sous-dossiers dans le même sous-dossier lors de l'installation lorsque je veux copier des fichiers spécifiques dans le dossier racine de l'application. – Thierry