<?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>Λοιπά θέματα</title><link>https://www.dotnetzone.gr:443/cs/forums/29/ShowForum.aspx</link><description>Οτιδήποτε άλλα θέματα developing που δεν κολλάνε σε κάποιο από τα υπόλοιπα forums!</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>NAnt and strongly typed resources..</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/40497.aspx</link><pubDate>Tue, 26 Feb 2008 18:23:40 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:40497</guid><dc:creator>saint240881</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/40497.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=29&amp;PostID=40497</wfw:commentRss><description>Καλημέρα σας, θα ήθελα να ζητήσω συγνώμη εάν έβαλα την συγκεκριμένη δημοσίευση σε λάθος κατηγορία.&lt;br&gt;&lt;br&gt;Ασχολούμαι με το NAnt εδώ και λίγες ημέρες και προσπαθώ να κάνω build κάποια απο τα έργα της εταιρείας μου.&lt;br&gt;Αντιμετωπίζω ένα πρόβλημα που κάτα πάσα πιθανότητα συσχετίζεται με τα resources που χρησιμοποιεί το project και ο τρόπος που ίσως εγώ τα συμπεριλαμβάνω στο build script του NAnt.&lt;br&gt;&lt;br&gt;Αυτό που ακολουθεί είναι το Build Script.&lt;br&gt;&lt;br&gt;&amp;lt;?xml version="1.0"?&amp;gt;&lt;br&gt;&amp;lt;project name="ProjectName" default="all"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;lt;property name="debug" value="true" /&amp;gt;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;lt;property name="resgen.exe" value="C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\ResGen.exe" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;lt;target name="all"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;lt;target name="clean" description="remove all build products"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;delete dir="build"&amp;nbsp; if="${directory::exists('build')}" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/target&amp;gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;target name="init" depends="clean"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;mkdir dir="build" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/target&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;target name="compile" depends="init" description="compiles the application"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;exec program="${resgen.exe}" workingdir="."&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;arg line="c:\ProjectName\ProjectNameDesktop\Properties\Resources.resx c:\ProjectName\ProjectNameDesktop\Properties\Resources.resources /str:cs /useSourcePath" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/exec&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;exec program="${resgen.exe}" workingdir="."&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;arg line="c:\ProjectName\ProjectNameDesktop\MainForm.resx c:\ProjectName\ProjectNameDesktop\MainForm.resources /useSourcePath" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/exec&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;csc&amp;nbsp;&amp;nbsp; target="winexe" output="build\ProjectName.exe" debug="${debug}" failonerror="false" win32icon="Images\ProjectNameDesktop\edit.ico"&amp;gt;&lt;br&gt;&lt;blockquote&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sources&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;include name="ProjectNameDesktop\**.cs" /&amp;gt; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;include name="ProjectNameDesktop\**\*.cs" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;exclude name="ProjectNameDesktop\bin" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;exclude name="ProjectNameDesktop\obj" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/sources&amp;gt;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;resources dynamicprefix="true" prefix="ProjectName"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;include name="ProjectNameDesktop\**\*.resources" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;include name="ProjectNameDesktop\**.resources" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/resources&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;references&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;include name="References\ProjectNameDesktop\*.dll" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/references&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&lt;/blockquote&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/csc&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;copy todir="build" flatten="true"&amp;gt;&lt;br&gt;&lt;blockquote&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;fileset&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;include name="References\ProjectNameDesktop\*.dll" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;include&amp;nbsp; name="ProjectNameDesktop\*.xml" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/fileset&amp;gt;&lt;br&gt;&lt;/blockquote&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/copy&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;delete&amp;gt;&lt;br&gt;&lt;blockquote&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;fileset&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;include name="ProjectNameDesktop\**.resources" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/fileset&amp;gt;&lt;br&gt;&lt;/blockquote&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/delete&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/target&amp;gt;&lt;br&gt;&lt;br&gt;&amp;lt;/project&amp;gt;&lt;br&gt;&lt;br&gt;Ο λόγος που καλώ το ResGen είναι για να μου δημιουργήσει απο το Resources.resx ένα strongly typed resource class ( whatever that means :( ) κάτι το οποίο είδα πως συνηστούν κάποιοι σε αντίστοιχα προβλήματα με resources. Για τώρα δοκιμάζω να βάλω και το MainForm.resx ( το οποίο προφανός είναι από μία φόρμα του project ).&lt;br&gt;Αρχικά είχα δοκιμάσει να βάλω απλά τα .resx στο &amp;lt;resources/&amp;gt; του csc task, δεν δούλεψε.&lt;br&gt;Μετά δοκίμασα να βάλω τα .resx στο resgen task του ΝAnt, επίσης δεν δούλεψε.&lt;br&gt;&lt;br&gt;Το Resources.resx αρχείο&amp;nbsp; περιέχει μόνο εικόνες, και η γραμμή που χτυπάει από το executable που βγάζει το NAnt είναι η συγκεκριμένη,&lt;br&gt;&lt;br&gt;this.exp3.Image = global::ProjectName.Properties.Resources.box_preferences;&lt;br&gt;&lt;br&gt;Μερικές φορές με άλλες αλχημίες χτυπάει όταν πάει να πάρει resources από το MainForm.rex στην εξής γραμμή&lt;br&gt;&lt;br&gt;this.notify1.Icon = ((System.Drawing.Icon)(resources.GetObject("notify1.Icon")));&lt;br&gt;&lt;br&gt;Αν δεν ήμουν κάπου σαφής συγγνώμη, ρωτήστε και θα διευκρινήσω,&lt;br&gt;&lt;br&gt;Οποιαδήποτε βοήθεια είναι ευπρόσδεκτη.&lt;br&gt;&lt;br&gt;Κώστας.&lt;br&gt;</description></item></channel></rss>