Unfortunately, VS.NET uses the name of the class as the generated resources filename. Changing this would break any designer-created code.

BTW, as a friendly suggestion. :) I can't read your mail from Sept. 9 because it appears to be encoded in something other than text/plain. I get nant-users in digest form, which means that I ignore any HTML/RTF mail that gets sent to it (not fun reading through HTML tags, as you can probably imagine). For archival purposes, it is highly recommended to send mail to the mailing list in text/plain format only. If this is not possible, ensure that your mail client is at least sending this as backup to text/html.

Matt.

Vincent Labatut wrote:

hi,

i think there's a problem in the way compiled resource filenames are computed in the solution task. I had a collision which was failing my build (cf my mail to the nant users list "solution task - problem with resources" on the 9th sept).

The filenames are computed by scanning the corresponding source files (cs or vb) to each resx file, looking for a namespace and class with a regexp, maybe to find out a unique name (namespace + classname should be unique). The problem is that the regexp used aren't robust enough.

There is also in the code an alternative way of doing so : using the path of the file as a unique name, and this seems to work well.

I can't figure out why this first manner is put forward in the code, it sounds like making two many assumptions to me, whereas more robust algorithms exist.

may I suggest the following fix, it forces the alternative way. If adopted, 3 functions would need to be deleted as well (GetDependentResourceName and the like), not included in this fix for clarity.



--- resource.cs Wed Sep 03 11:00:01 2003
+++ resource.cs Wed Sep 17 15:18:35 2003
@@ -225,9 +225,9 @@
string inFile = _resourceSourceFile;
string outFile;
- if (!StringUtils.IsNullOrEmpty(_dependentFile)) {
- outFile = GetDependentResourceName(_dependentFile);
- } else {
+ // if (!StringUtils.IsNullOrEmpty(_dependentFile)) {
+ // outFile = GetDependentResourceName(_dependentFile);
+ // } else {
StringBuilder sb = new StringBuilder();
if (!StringUtils.IsNullOrEmpty(Project.ProjectSettings.RootNamespace)) {
sb.Append(Project.ProjectSettings.RootNamespace);
@@ -240,7 +240,7 @@
}
sb.Append(".resources");
outFile = sb.ToString();
- }
+ //}
outFile = Project.ProjectSettings.GetTemporaryFilename(outFile);


_solutionTask.Project.Indent();



It does not prevent my project to have localized resource dlls (which BTW need dedicated tasks).


N???޵隊X???'???u???)??Y?\?g???????????b?HzG(?????u?ޖ?^?ɚ?X??X??v??ׯzZ)z?%??l???q???z?m????X???(??~??zw??X?????b??????u?ޖ?^rs==







------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers

Reply via email to