i've noticed a bug that seems to have been introduced with this change.
now, if no prefix is specified for the resources, the resources have a "."
prefixing the name. this breaks any resources that were never scoped with a
prefix previously, specifically ProjectHelp.xslt used in NAnt.Console.
i've attached a snippet of code that seems to fix the problem. it now only
tries to prepend the prefix is the prefix is non-empty.
hope this helps,
--b
----- Original Message -----
From: "Ian MacLean" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, September 05, 2002 6:19 PM
Subject: [nant-dev] Compilers and resources
> I've checked in changes to compiler base so that it handles resources a
> bit more nicely. this means that the following build fragment :
>
> <csc target="exe" output="${outputname}.exe" debug="${debug}">
> <sources>
> <includes name="Form2.cs"/>
> <includes name="AssemblyInfo.cs"/>
> </sources>
> <resources prefix="testWinApp">
> <includes name="Form2.resx"/>
> <includes name="SomeFile.xml"/>
> </resources>
> </csc>
>
> will work as expected. So the resx file will be automatically compiled
> into a .resources file and that file will be embedded into the target
> executable. SomeFile.xml will just be embedded as a file resource.
>
> Ian
>
>
>
> -------------------------------------------------------
> This sf.net email is sponsored by: OSDN - Tired of that same old
> cell phone? Get a new here for FREE!
> https://www.inphonic.com/r.asp?r=sourceforge1&refcode1=vs3390
> _______________________________________________
> Nant-developers mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/nant-developers
>
// Resx args
foreach (string fileName in Resources.ResxFiles.FileNames ) {
string prefix = GetFormNamespace(fileName); // try and get it from matching form
if (prefix == "")
prefix = Resources.Prefix;
string actualFileName = Path.GetFileNameWithoutExtension(fileName);
string tmpResourcePath = Path.ChangeExtension( fileName, "resources" );
string manifestResourceName = Path.GetFileName(tmpResourcePath);
if(prefix != "")
manifestResourceName = manifestResourceName.Replace(actualFileName, prefix + "."
+ actualFileName );
string resourceoption = tmpResourcePath + "," + manifestResourceName;
WriteOption(writer, "resource", resourceoption);
}
// other resources
foreach (string fileName in Resources.NonResxFiles.FileNames ) {
string actualFileName = Path.GetFileNameWithoutExtension(fileName);
string manifestResourceName = Path.GetFileName(fileName);
if(Resources.Prefix != "")
manifestResourceName = manifestResourceName.Replace(actualFileName,
Resources.Prefix + "." + actualFileName );
string resourceoption = fileName + "," + manifestResourceName;
WriteOption(writer, "resource", resourceoption);
}