RE: [nant-dev] patch for solution task
Thank you for this indication, I really went into the wrong direction in my diagnostic, but the behavior I see is still different. I'm using VS.NET 2002 and 2003 and it does not seem to be related to vs.net version. Now, the problem i'm actually having, is that some assemblies referenced are not considered as system assemblies. I don't know the exact definition of a system assembly, it could be (or not) an assembly that was registered into the GAC. i'm using assemblyfolders to include a directory full of assemblies. My project references an assembly found in the GAC. The nant solution task copies this assembly to my project output directory from the assemblyfolders, but VS.NET does not copy anything. Not using assemblyfolders does not seem possible because the solution task seems to strictly obey to the hintpath found in the project XML file, whereas VS.NET manages to find the referenced assembly in order to perform the link without copying it (the hintpath is wrong in the project XML, we can't avoid that). do you observe that as well ? NOTE : whenever the Private attribute is defined and given a value True or False, the solution task acts well of course. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Gert Driesen Sent: mercredi 18 février 2004 18:18 To: Vincent Labatut; [EMAIL PROTECTED] Subject: Re: [nant-dev] patch for solution task Vincent, I'm seeing a different behaviour here. For references to non-system assemblies, VS.NET 2003 copies assemblies locally by default. project references : default = true references to system assemblies : default = false references to non-system assemblies : default = true which matches the solution task behaviour. What version of VS.NET are you using ? Gert - Original Message - From: Vincent Labatut [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, February 18, 2004 5:17 PM Subject: [nant-dev] patch for solution task Hello, the mail i sent the 16th sept 2003 is still valid and concerns also nant 8.4 final, there's a big problem with File References in the solution task. This does not concern project References. I gave all the details below. The solution Task uses the wrong default value for the Private attribute on a file reference. You should check this in, here's a diff file attached (sorry for the file names, i can't use CVS from where I am). The diff was done with the 8.4 final version. To test the result, simply add a file reference with VS.NET, and reference a dll located outside the solution (it should not match an existing project in the solution). Set the copy local attribute to False and save. Then loot at the project file (XML) and check that there is no private attribute on the reference node. We are testing the default value that will be given by the solution task. Now launch a NAnt build with the solution task. The referenced dll (and its friends ;) should not appear in the output directory. --- this was my mail, transpose GAC to system assemblies and it shoud be correct ;) --- I took care of setting the Copy Local property of my file reference to False, but the solution task still copies 43 files in my output directory. There is actually a slight difference of behaviour between Visual Studio and the solution task : - in Visual Studio, if Local Copy is not defined it is assumed as False (beware that the value you see in the IDE is not always written in the project xml file because False is the default value !) - in NAnt, if the attribute Private (which corresponds to Copy Local) is not defined in the project file, and the reference is neither a project reference nor an assembly in the GAC, the CopyLocal value is set to TRUE !! I fixed that on my machine and it worked fine for my whole solution (25 projects). To summarise, I propose the following behaviour for the CopyLocal value : - always take into account the value of the Private attribute if defined - if not defined : * if it is a project reference then CopyLocal is true * if anything else (file present in gac or not) then CopyLocal is false It should work as I said if u change the following line (NAnt/VS.Net/Reference.cs, line 101 of current version) : _copyLocal = _privateSpecified ? _isPrivate : true; by this one _copyLocal = _privateSpecified ? _isPrivate : false; (it is in the else part, when the assembly is not in the GAC) regards, vincent --- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356alloc_id=3438op=click ___ nant-developers mailing
[nant-dev] patch for solution task
Hello, the mail i sent the 16th sept 2003 is still valid and concerns also nant 8.4 final, there's a big problem with File References in the solution task. This does not concern project References. I gave all the details below. The solution Task uses the wrong default value for the Private attribute on a file reference. You should check this in, here's a diff file attached (sorry for the file names, i can't use CVS from where I am). The diff was done with the 8.4 final version. To test the result, simply add a file reference with VS.NET, and reference a dll located outside the solution (it should not match an existing project in the solution). Set the copy local attribute to False and save. Then loot at the project file (XML) and check that there is no private attribute on the reference node. We are testing the default value that will be given by the solution task. Now launch a NAnt build with the solution task. The referenced dll (and its friends ;) should not appear in the output directory. --- this was my mail, transpose GAC to system assemblies and it shoud be correct ;) --- I took care of setting the Copy Local property of my file reference to False, but the solution task still copies 43 files in my output directory. There is actually a slight difference of behaviour between Visual Studio and the solution task : - in Visual Studio, if Local Copy is not defined it is assumed as False (beware that the value you see in the IDE is not always written in the project xml file because False is the default value !) - in NAnt, if the attribute Private (which corresponds to Copy Local) is not defined in the project file, and the reference is neither a project reference nor an assembly in the GAC, the CopyLocal value is set to TRUE !! I fixed that on my machine and it worked fine for my whole solution (25 projects). To summarise, I propose the following behaviour for the CopyLocal value : - always take into account the value of the Private attribute if defined - if not defined : * if it is a project reference then CopyLocal is true * if anything else (file present in gac or not) then CopyLocal is false It should work as I said if u change the following line (NAnt/VS.Net/Reference.cs, line 101 of current version) : _copyLocal = _privateSpecified ? _isPrivate : true; by this one _copyLocal = _privateSpecified ? _isPrivate : false; (it is in the else part, when the assembly is not in the GAC) regards, vincent Reference.diff Description: Binary data
[nant-dev] patch for solution task
Hello, the mail i sent the 16th sept 2003 is still valid and concerns also nant 8.4 final, there's a big problem with File References in the solution task. This does not concern project References. I gave all the details below. The solution Task uses the wrong default value for the Private attribute on a file reference. You should check this in, here's a diff file attached (sorry for the file names, i can't use CVS from where I am). The diff was done with the 8.4 final version. To test the result, simply add a file reference with VS.NET, and reference a dll located outside the solution (it should not match an existing project in the solution). Set the copy local attribute to False and save. Then loot at the project file (XML) and check that there is no private attribute on the reference node. We are testing the default value that will be given by the solution task. Now launch a NAnt build with the solution task. The referenced dll (and its friends ;) should not appear in the output directory. --- this was my mail, transpose GAC to system assemblies and it shoud be correct ;) --- I took care of setting the Copy Local property of my file reference to False, but the solution task still copies 43 files in my output directory. There is actually a slight difference of behaviour between Visual Studio and the solution task : - in Visual Studio, if Local Copy is not defined it is assumed as False (beware that the value you see in the IDE is not always written in the project xml file because False is the default value !) - in NAnt, if the attribute Private (which corresponds to Copy Local) is not defined in the project file, and the reference is neither a project reference nor an assembly in the GAC, the CopyLocal value is set to TRUE !! I fixed that on my machine and it worked fine for my whole solution (25 projects). To summarise, I propose the following behaviour for the CopyLocal value : - always take into account the value of the Private attribute if defined - if not defined : * if it is a project reference then CopyLocal is true * if anything else (file present in gac or not) then CopyLocal is false It should work as I said if u change the following line (NAnt/VS.Net/Reference.cs, line 101 of current version) : _copyLocal = _privateSpecified ? _isPrivate : true; by this one _copyLocal = _privateSpecified ? _isPrivate : false; (it is in the else part, when the assembly is not in the GAC) regards, vincent Reference.diff Description: Binary data
Re: [nant-dev] patch for solution task
Vincent, I'm seeing a different behaviour here. For references to non-system assemblies, VS.NET 2003 copies assemblies locally by default. project references : default = true references to system assemblies : default = false references to non-system assemblies : default = true which matches the solution task behaviour. What version of VS.NET are you using ? Gert - Original Message - From: Vincent Labatut [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, February 18, 2004 5:17 PM Subject: [nant-dev] patch for solution task Hello, the mail i sent the 16th sept 2003 is still valid and concerns also nant 8.4 final, there's a big problem with File References in the solution task. This does not concern project References. I gave all the details below. The solution Task uses the wrong default value for the Private attribute on a file reference. You should check this in, here's a diff file attached (sorry for the file names, i can't use CVS from where I am). The diff was done with the 8.4 final version. To test the result, simply add a file reference with VS.NET, and reference a dll located outside the solution (it should not match an existing project in the solution). Set the copy local attribute to False and save. Then loot at the project file (XML) and check that there is no private attribute on the reference node. We are testing the default value that will be given by the solution task. Now launch a NAnt build with the solution task. The referenced dll (and its friends ;) should not appear in the output directory. --- this was my mail, transpose GAC to system assemblies and it shoud be correct ;) --- I took care of setting the Copy Local property of my file reference to False, but the solution task still copies 43 files in my output directory. There is actually a slight difference of behaviour between Visual Studio and the solution task : - in Visual Studio, if Local Copy is not defined it is assumed as False (beware that the value you see in the IDE is not always written in the project xml file because False is the default value !) - in NAnt, if the attribute Private (which corresponds to Copy Local) is not defined in the project file, and the reference is neither a project reference nor an assembly in the GAC, the CopyLocal value is set to TRUE !! I fixed that on my machine and it worked fine for my whole solution (25 projects). To summarise, I propose the following behaviour for the CopyLocal value : - always take into account the value of the Private attribute if defined - if not defined : * if it is a project reference then CopyLocal is true * if anything else (file present in gac or not) then CopyLocal is false It should work as I said if u change the following line (NAnt/VS.Net/Reference.cs, line 101 of current version) : _copyLocal = _privateSpecified ? _isPrivate : true; by this one _copyLocal = _privateSpecified ? _isPrivate : false; (it is in the else part, when the assembly is not in the GAC) regards, vincent --- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356alloc_id=3438op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Patch for solution task
For c-sharp, get the nowarn settings from the project file and pass on to the compiler. The patch is inline below my signature. Thanks in advance for posting it. - Tom Cabanski, President Objective Advantage, Inc. http://www.oai.cc Phone: +1-281-348-2517x15 cvs diff (in directory C:\cvsroot\nant\src\NAnt.VSNet\) cvs server: Diffing . Index: ConfigurationSettings.cs === RCS file: /cvsroot/nant/nant/src/NAnt.VSNet/ConfigurationSettings.cs,v retrieving revision 1.5 diff -r1.5 ConfigurationSettings.cs 72a73 htStringSettings[NoWarn] = /nowarn:{0}; --- 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
Re: [nant-dev] Patch for solution task
Hi Tom, This has actually already been committed to cvs, but thanks for the patch anyway ... Gert PS. Would it be possible to include patches as attachments instead of having them inline ? - Original Message - From: Tom Cabanski [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, August 27, 2003 11:26 PM Subject: [nant-dev] Patch for solution task For c-sharp, get the nowarn settings from the project file and pass on to the compiler. The patch is inline below my signature. Thanks in advance for posting it. - Tom Cabanski, President Objective Advantage, Inc. http://www.oai.cc Phone: +1-281-348-2517x15 cvs diff (in directory C:\cvsroot\nant\src\NAnt.VSNet\) cvs server: Diffing . Index: ConfigurationSettings.cs === RCS file: /cvsroot/nant/nant/src/NAnt.VSNet/ConfigurationSettings.cs,v retrieving revision 1.5 diff -r1.5 ConfigurationSettings.cs 72a73 htStringSettings[NoWarn] = /nowarn:{0}; --- 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 --- 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
Re: [nant-dev] Patch for Solution Task
I submitted your patch to cvs. Keep'em coming :-) Gert - Original Message - From: Tom Cabanski [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, August 22, 2003 4:04 PM Subject: [nant-dev] Patch for Solution Task Solution task sometimes puts two dots in resource names where there should only be one. This patch fixes the problem. Can someone apply it for me? The patch is inline below my signature. Thanks - Tom Cabanski, President Objective Advantage, Inc. http://www.oai.cc Phone: +1-281-348-2517x15 cvs diff Resource.cs (in directory C:\cvsroot\nant\src\NAnt.VSNet\) Index: Resource.cs === RCS file: /cvsroot/nant/nant/src/NAnt.VSNet/Resource.cs,v retrieving revision 1.13 diff -r1.13 Resource.cs 22a23 using System.Text; 222c223,234 strOutFile = _projectSettings.RootNamespace + . + Path.GetDirectoryName(_resourceSourceFileRelativePath).Replace(\\, .) + . + Path.GetFileNameWithoutExtension(_resourceSourceFile) + .resources; --- StringBuilder sb = new StringBuilder(); if (_projectSettings.RootNamespace.Trim().Length 0) { sb.Append(_projectSettings.RootNamespace); } if (Path.GetDirectoryName(_resourceSourceFileRelativePath).Length 0) { sb.AppendFormat(.{0}, Path.GetDirectoryName(_resourceSourceFileRelativePath).Replace(\\, .)); } if (_resourceSourceFile.Trim().Length 0) { sb.AppendFormat(.{0}, Path.GetFileNameWithoutExtension(_resourceSourceFile)); } sb.Append(.resources); strOutFile = sb.ToString(); --- This SF.net email is sponsored by: VM Ware With VMware you can run multiple operating systems on a single machine. WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the same time. Free trial click here:http://www.vmware.com/wl/offer/358/0 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.net email is sponsored by: VM Ware With VMware you can run multiple operating systems on a single machine. WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the same time. Free trial click here:http://www.vmware.com/wl/offer/358/0 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Patch for Solution Task
Solution task sometimes puts two dots in resource names where there should only be one. This patch fixes the problem. Can someone apply it for me? The patch is inline below my signature. Thanks - Tom Cabanski, President Objective Advantage, Inc. http://www.oai.cc Phone: +1-281-348-2517x15 cvs diff Resource.cs (in directory C:\cvsroot\nant\src\NAnt.VSNet\) Index: Resource.cs === RCS file: /cvsroot/nant/nant/src/NAnt.VSNet/Resource.cs,v retrieving revision 1.13 diff -r1.13 Resource.cs 22a23 using System.Text; 222c223,234 strOutFile = _projectSettings.RootNamespace + . + Path.GetDirectoryName(_resourceSourceFileRelativePath).Replace(\\, .) + . + Path.GetFileNameWithoutExtension(_resourceSourceFile) + .resources; --- StringBuilder sb = new StringBuilder(); if (_projectSettings.RootNamespace.Trim().Length 0) { sb.Append(_projectSettings.RootNamespace); } if (Path.GetDirectoryName(_resourceSourceFileRelativePath).Length 0) { sb.AppendFormat(.{0}, Path.GetDirectoryName(_resourceSourceFileRelativePath).Replace(\\, .)); } if (_resourceSourceFile.Trim().Length 0) { sb.AppendFormat(.{0}, Path.GetFileNameWithoutExtension(_resourceSourceFile)); } sb.Append(.resources); strOutFile = sb.ToString(); --- This SF.net email is sponsored by: VM Ware With VMware you can run multiple operating systems on a single machine. WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the same time. Free trial click here:http://www.vmware.com/wl/offer/358/0 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers