Hej, Klicka på filen i Solution Explorer, välj "Embedded resource" som "Build action" under Properties, sen ska den bakas in. Där bör du även kunna ändra mellan att baka in den och inte. Fungerar utmärkt, men finns det inget lättare sätt att fixa till det här på? värdet av det där "skyddande" är rätt tveksamt så länge vi inte pratar om Agda, 80 och liknande.. Kör med express verisonen :/. I GUI:t på express versionen finns inte funktionerna Unload project/Edit /Reload project, däremot kan du nog editera filen ändå. Antingen med typ Notepad, eller så stänger du solutionen, väljer File->Open File... och söker efter projektnamn.csproj ...et voilá, då kan du editera den som jag beskrev tidigareKompilera in filer
Om jag vill skydda några filer (kompilera in dem i .exe filen), Vad jag har förstått så ska man lägga tíll filerna man vill skydda i solution explorer, men hur gör jag sedan när jag ska komma åt dem?.
Och om filerna är lite stora så vill jag inte kompilera in dem varje gång jag testkör programmet, om det finns något smidigt sätt att byta mellan att kompilera in dem och låta dem stå "utanför"?Sv: Kompilera in filer
För att få fram filen i koden, så kan du lista de resources som finns med:
<code>
string [] resources = System.Reflection.Assembly.GetEntryAssembly().GetManifestResourceNames();
foreach (string s in resources)
... visa s här (MessageBox.Show, Console.WriteLine etc)
</code>
När du sen har namnet på hela "sökvägen" till rätt resource kör du
<code>
Stream s = System.Reflection.Assembly.GetEntryAssembly().GetManifestResourceStream("Namespace.Mapp.Filnamn.ext");
... gör något med streamen här, läs in med en StreamReader t ex
s.close();
</code>Sv:Kompilera in filer
Sv: Kompilera in filer
Angående lättare sätt.. mycket troligt: nej
Du kan förstås göra en till konfiguration och ha en konfiguration där dom är inbyggda och en där dom är utanför. Fast då måste du ju naturligtvis ta det i beaktande i koden också
Att bara inkludera en resurs i en viss konfiguration gör du på följande sätt
Högerklicka projektet i solution explorer (förutsatt att du har VS2005 standard eller högre, dvs inte express), välj unload projekt
Högerklicka igen (borde stå (unavailable) eller liknande nu), och välj edit <projekt>.csproj
sök efter dina filer, dom borde finnas typ som
<EmbeddedResource Include="filnamn.ext" />
sätt till ett Condition attribut på alla dom typ
<EmbeddedResource Include="filnamn.ext" Condition="'$(Configuration)' == 'VadDuNuSatteFörNamn'" />
sen tar du å högerklickar projektet igen och väljer reload.
Efter detta byggs dom bara in ifall du valt VadDuNuSatteFörNamn konfigurationen...
Sv:Kompilera in filer
Får ta o köra med Thomas sätt. Tack för svaren!Sv: Kompilera in filer