Ok, mam wrażenie, że odpowiedź na moje pytanie jest w trybie online, ale nie mogę go znaleźć. Wszystko, co próbuję zrobić, to dodać plik zasobów tekstowych do programu, który kompiluję przy pomocy CodeDom, a następnie uzyskać dostęp do tego pliku tekstowego w skompilowanym programie. Aby dodać osadzonego zasobu, używałem następujący kod:Dodawanie i pobieranie zasobów osadzonych kodedia
System.Resources.ResourceWriter writer = new System.Resources.ResourceWriter("Resources.resx");
writer.AddResource("EoS.txt", Form1.MasterEncoder.GetBytes(Properties.Resources.Eos));
writer.Generate();
writer.Close();
Parameters.EmbeddedResources.Add("Resources.resx");
Here „Parametry” to moje parametry kompilatora sprzeciw i „Eos.txt” jest plik Próbuję napisać, który to zasób w podanie. nie rzucać żadnych błędów, kiedy zbudować program, ale gdy próbuję pobrać ten plik tekstowy w nowo skompilowany program przy użyciu tego kodu, które dodane do zdarzenia obciążenia forma:
_assembly = Assembly.GetExecutingAssembly();
_textStreamReader = new StreamReader(_assembly.GetManifestResourceStream("Resources.EoS.txt"));
TextFile = _textStreamReader.ReadToEnd();
otrzymuję ten błąd mniej więcej: "Wartość nie może być pusta Nazwa parametru: strumień." Próbowałem zmienić "Zasoby" na przestrzeń nazw programu i wiele innych drobnych poprawek i nic nie zadziałało. Nie jestem pewien, czy jestem na zupełnie niewłaściwym torze czy nie, ale myślę, że mój problem dotyczy CodeDom. Jakieś sugestie?
Czy błąd informuje, w jakim wierszu się znajduje? – FoolishSeth
Cóż, jestem prawie pewien, że jest w linii StreamReader. – user1869878
Usunięto "osadzony" tag. Niezwiązane z osadzonym kodem/systemami – Neowizard