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=1356&alloc_id=3438&op=click _______________________________________________ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers