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



-------------------------------------------------------
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

Reply via email to