<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>.NET Framework</title><link>https://www.dotnetzone.gr:443/cs/forums/14/ShowForum.aspx</link><description>Θέματα για threading, remoting, reflection, exception handling, security, regex κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Πως θα πάρω το path ενός φακέλου που βρίσκεται μέσα σε ένα dll assembly??</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/52505.aspx</link><pubDate>Wed, 15 Jul 2009 22:34:04 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:52505</guid><dc:creator>anjelinio</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/52505.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=52505</wfw:commentRss><description>Εφ' όσον έχεις μαρκάρει τα χρήσιμα αρχεία σου κατα το compile ως Embedded Resource, μπορείς να τα πάρεις απο το Assembly class, ως manifest Resource Stream -&amp;gt; σου επιστρέφει ένα stream με λίγα λόγια. &lt;br&gt;&lt;br&gt;Π.χ. : &lt;br&gt;&lt;br&gt;Έχω ένα class library project, το namespace του οποίου είναι MyProject.MyHelperObjects. Μέσα σε αυτό, έχω ένα folder "Resources" που μέσα έχει ένα αρχείο MyUsefulFile.xml. &lt;br&gt;&lt;br&gt;Στον κώδικά σου, αν πάρεις ένα reference στο εν λόγω αρχείο, μπορείς με τη μέθοδο &lt;font face="Courier New"&gt;GetManifestResourceStream(string path)&lt;/font&gt; να πάρεις πίσω ένα stream με τα περιεχόμενα του αρχείου σου - όπως αν το διάβαζες απο δίσκο. &lt;br&gt;&lt;br&gt;Στον κώδικα παρακάτω που είχα πρόχειρο το χρησιμοποιώ μέσα απο το ίδιο το assembly:&lt;br&gt;&lt;br&gt;&lt;font face="Courier New" size="2"&gt;Assembly.GetExecutingAssembly().GetManifestResourceStream("MyProject.MyHelperObjects.Resources.MyUsefulFile.xml"); &lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;i&gt;Η γραμμή παραπάνω θα σου επιστρέψει ένα Stream instance.&lt;/i&gt; &lt;br&gt;&lt;br&gt;Αν θές να διαβάσεις κάτι απο κάποιο εξωτερικό assembly, πρέπει πρώτα να φορτώσεις το assembly ( &lt;i&gt;αν δεν είναι ήδη στη μνήμη&lt;/i&gt; ) χρησιμοποιώντας μια απο τις αντίστοιχες static μεθόδους του assembly class, π.χ. &lt;font face="Courier New"&gt;Load, GetAssembly, LoadFromFile, LoadFrom, LoadWithPartialName&lt;/font&gt; κτλ. Αφού πάρει πίσω το Assembly instance, καλείς πάλι το &lt;font face="Courier New"&gt;GetManifestResourceStream &lt;/font&gt;και παίρνεις πίσω το stream σου. &lt;br&gt;&lt;br&gt;Ο γενικός κανόνας για το πως προκύπτει το path είναι ... το default namespace του class library, συν το path απο το root του project σου μέχρι το αρχείο, μαζί με το extention. Έτσι στο παραπάνω παράδειγμα είναι MyProject.MyHelperObjects + Resources.MyUsefulFile.xml&lt;br&gt;&lt;br&gt;Προσοχή  στο ότι δεν είναι "path", με slashes, είναι σε namespace μορφή, με τελείες ! Και φυσικά στο ότι τα αρχεία είναι δηλωμένα ως embedded resources ( &lt;i&gt;απο το properties το βλέπεις αυτό&lt;/i&gt; ).&lt;br&gt;&lt;br&gt;Happy embedded resource-ing&amp;nbsp; ! &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br&gt;&lt;br&gt;Υ.Γ. Δεν μπορείς να "&lt;i&gt;πάρεις&lt;/i&gt;" το folder. Μόνο τα αρχεία, by full name ! Αν θες να δείς τη λίστα με τα embedded αρχεία, το Assembly class έχει πάλι τις ανάλογες μεθόδους, που σου επιστρέφουν τα ονόματα [assembly paths] όλων των embedded αρχείων [resources].&lt;br&gt;&lt;br&gt;</description></item><item><title>Πως θα πάρω το path ενός φακέλου που βρίσκεται μέσα σε ένα dll assembly??</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/52469.aspx</link><pubDate>Tue, 14 Jul 2009 23:49:35 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:52469</guid><dc:creator>epp1123</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/52469.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=52469</wfw:commentRss><description>&lt;div style="text-align:justify;"&gt;Έχω φτιάξει ένα custom control. Εκεί μέσα έχω ένα φάκελο που έχει μέσα διάφορα αρχεία χρήσιμα. Πως μπορώ να "διαβάσω" το dll και να "πάρω" το path του φακέλου;&lt;/div&gt;&lt;div style="text-align:justify;"&gt;&lt;br&gt;&lt;/div&gt;&lt;div style="text-align:justify;"&gt;&lt;font class="Apple-style-span" color="#FF0000"&gt;&lt;b&gt;&lt;i&gt;EDIT&lt;/i&gt;&lt;/b&gt;&lt;/font&gt;&lt;i&gt;: Εάν "πάρω" το φάκελο τα αρχεία που είναι μέσα του θα είναι διαθέσιμα ή όχι;&lt;/i&gt;&lt;/div&gt;</description></item></channel></rss>