J'ai vu beaucoup de messages sur ce sujet et ne pouvait pas obtenir de travail. J'ai ajouté un fichier au dossier Ressources de mon projet (clic droit sur projet-> Propriétés-> Ressources, puis sélectionnez Fichier, Ajouter un fichier).Obtenez Stream à partir de Properties.Resources dans Visual Studio 2013
J'ai essayé de définir l'action de construction sur Ressources et Ressources intégrées.
J'ai besoin de lire ce fichier en utilisant StreamReader.
J'ai essayé suivante, mais à la fois NULL de retour pour MyStream peu importe si je mis bâtir l'action à des ressources ou des ressources intégrées:
// IF I ADD FILE AS SUGGESTED BELOW IN UPDATE, THIS WILL WORK; OTHERWISE, I GET NULL
Stream myStream = Assembly
.GetExecutingAssembly()
.GetManifestResourceStream("MyProject.General.Tests.mytestfile.csv"); //returns NULL
using (CsvReader csv = new CsvReader(new StreamReader(myStream), true)
{
...
}
J'ai aussi essayé mais il renvoie également NULL
Stream myStream = Assembly
.GetExecutingAssembly()
.GetManifestResourceStream(Properties.Resources.mytestfile); //returns NULL
using (CsvReader csv = new CsvReader(new StreamReader(myStream), true)
{
...
}
Si je vais regarder rapidement et tapez ce Properties.Resources.mytestfile, j'obtiens la représentation de chaîne de mon dossier.
MISE À JOUR, AU LIEU DE DOSSIER AJOUT DE DROIT CLIQUANT SUR LE PROJET> Propriétés-> RESSOURCES (CETTE FAÇON, IL NE FONCTIONNE PAS), ADDITIONNEZ PAR DROIT CLIQUANT SUR Projet-> Ajouter-> ARTICLE EXISTANT, ALORS SET BUILD ACTION = RESSOURCE INCORPORÉE, CELA FONCTIONNERA. (Merci à Aedvald Tseh pour sa réponse détaillée qui m'a aidé à comprendre cela)
Ce n'est pas un flux, il est incorporé comme une chaîne. Donc, utilisez new StringReader (Properties.Resources.mytestfile) –
Cela ne fonctionne pas. J'ai essayé de définir mytestfile comme BuildAction = Resource et Build Action = Embedded Resource, aucun travail. App crashes, voir aucune erreur – pixel