2009-05-27 5 views
0

J'ai inclus mes fichiers en tant que ressource dans mon programme C#. Maintenant, je suis en train de voir que les fichiers existent ou non parJ'ai créé une ressource mais les fichiers qu'elle contient ne sont pas présents

 if(File.Exists(path)) 

mais il ne va pas à l'intérieur du bloc si quand même le chemin est le chemin valide pour les fichiers à l'intérieur des ressources. Les fichiers sont les DTD, qui seraient incorporées en tant que ressources à l'intérieur de l'assembly au moment de la compilation, et résolues en tant que ressources lors de l'exécution. S'il vous plaît aider. qu'est-ce qui pourrait éventuellement être la raison? et qu'est-ce qui me manque?

Répondre

1

Étant donné que vous avez incorporé la ressource, le fichier (ou la ressource) est incorporé dans le manifeste d'assembly. Vous devrez peut-être récupérer le fichier en tant que flux de ressources à partir du manifeste.

string filePath = Assembly.GetExecutingAssembly().GetName().Name+"." + resourceFileName; 
Stream fileStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(filePath); 
+0

Comment utiliser FileStream? je veux valider mes fichiers xhtml contre le dtd. –

2

Si vous souhaitez accéder à vos ressources dans C#, vous devez utiliser la classe Properties.Resources.

Par exemple:

string data = Properties.Resources.dtd 
0

File.Exists() est seulement pour le système de fichiers. Vous devriez être en mesure d'atteindre votre fichier en utilisant

myProject.Properties.Resources.Image01; 

Et il n'y a pas vraiment de raison de vérifier si le fichier existe.

Questions connexes