2016-09-20 1 views
2

Après avoir publié en utilisant ClickOnce en C#, j'ai été complètement confus au sujet de comment trouver le répertoire du dossier: 'Application Files'. La raison pour laquelle je veux faire ceci est que je veux mettre quelques dossiers dans ce dossier et laisser C# pour les lire après que l'utilisateur ait installé mon application.Trouver le répertoire 'Fichiers d'application' après publication par ClickOnce

J'ai essayé comme: System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), mais j'ai toujours eu comme: C:\Users\AppData\Local\Apps\2.0\4DAZ7HKJ.7TP\OZ02N2HD.7PG\cons..tion_a9321ce7eb14b63e_0001.0000_7ed45506b35ff771, ce que je ne veux pas. Depuis mon dossier de publication est dans D:\, ce que je veux est comme: D:\Application Files.

Merci d'avance à tous ceux qui ont lu ma question!

publish folder after clickOnce publish

Répondre

3

Pour inclure un fichier à votre publication, vous n'avez pas besoin d'inclure dans le dossier manuellement, au lieu, vous devez ajouter le fichier à votre projet et définissez son Build Action à Content. Pour vous assurer que le fichier est inclus dans la publication, passez à Project → Properties → Publish Tab → Application Files Button et vérifiez si Publish Status de votre fichier est Include (Auto). Après le déploiement de l'application, ces fichiers seront déployés à proximité du fichier exécutable de l'application. Par exemple, si vous incluez image.png, vous pouvez le trouver de cette façon:

var path = System.IO.Path.Combine(Application.StartupPath, "image.png"); 

Aussi, si pour une raison quelconque, vous êtes à la recherche de votre dossier de publication, vous pouvez voir le chemin que vous avez utilisé pour publier, dans Project → Properties → Publish → Publish Location ou <PublishUrl> tag dans votre fichier de projet.

Indépendamment de l'emplacement où vous avez publié les fichiers, il en existe une copie dans le dossier \bin\debug de votre projet sous le dossier app.publish.

+0

Merci pour votre modification. Je sais que je peux inclure des fichiers supplémentaires dans la publication. Mais je ne veux pas les trouver manuellement. Comment les trouver en codant est ce que je veux. Comme, 'Console.WriteLine (le chemin des fichiers supplémentaires);' Avez-vous une idée? –

+1

Les fichiers seront déployés près du fichier d'application exe. Par exemple si vous incluez 'image.png', alors vous pouvez le trouver de la façon suivante:' var path = System.IO.Path.Combine (Application.StartupPath, "image.png"); ' –

+0

J'ai essayé System.IO. Path.Combine (Application.StartupPath, "image.png"); mais il montre une erreur que: 'Le nom' Application 'n'existe pas dans le contexte actuel.' Que devrais-je faire? –