Jag undrar hur man lägger alla sina embedded resources i en extern dll i stället för att ha dom kompilerade in i exe-filen. Använder VS.Net 2003. Jag har testat att skapa ett nytt project, ett s.k "class library" inne i den "solution" som jag har mitt huvudproject. Sedan la jag till det nya projectet som referens i huvudprojectet, och la till alla bitmaps i det nya projectet och satte dom som embedded. Jag ändrade även default namespace i det nya projectet till samma som huvudprojectets. Hett tips: assemblyt.Get_bla_bla_bla_Names() Löste problemet sen. Jag tänkte aldrig på att man är tvungen att hämta resource streamen från rätt ställe.Alla resources i extern dll
Hur skriver jag sedan när jag ska använda alla resources?
Jag trodde man skulle skriva såhär:
<default namespace>.<project/folder?>.<filename>.<file extension>
Det fungerarde iaf innan jag flytta över alla bitmaps.
Jag har testat alla möjliga kombinationer på sökvägar, men inget funkar, har jag glömt nått?Sv: Alla resources i extern dll
Den heter något med manifest i. Den retunerar namnen på alla resurser i assemblytSv: Alla resources i extern dll
Tidigare skrev jag bara såhär, vilket hämtar resourcen från det projectet this refererar till just nu: (antar jag)
<code>
sourceBitmap = new Bitmap(GetType().Module.Assembly.GetManifestResourceStream(ResourceString));
</code>
Vet inte om detta är bästa sättet, men så här gjorde jag:
(Class1 ligger i projectet som innehåller alla bitmaps)
<code>
Resource.Class1 Temp = new Resource.Class1();
// Create a new bitmap from the resourcestring
sourceBitmap = new Bitmap(Temp.GetType().Module.Assembly.GetManifestResourceStream(ResourceString));
</code>
Antagligen finns det nog ett bättre sätt men kunde inte komma på bättre själv....