[nant-dev] Solution Task
Hey everyone! We are currently setup with a common bindirectory that all of our projects and solutions reference from. Each project has a build event that copies its output to the bin folder so other projects can reference it. I had a situation with the solution task where nant was locking the reference assemblies in the bin directory and my project build events were failing to copy the output assemblies. To get around this issue, I added a new attribute to the solution task called shadowCopy. If this is turned on, it will shadow copy all assemblies when compiling the solution, that way nothing gets locked. I've never contributed to an open source project before and didn't know the protocol. I also wasn't sure if this enhancement was something anyone else would be interested in. An comments would be appreciated. Mike Treadway ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
RE: [nant-dev] Solution task feature proposal (with patch): write list of output s to a property
I'd definitely prefer having something fileset-like instead of a simple property to store the list of output files in. Yes, me too. That was actually my first thought. I didn't see any precedent for returning values of types other than string from a task, though. Would it be enough if there were a way to instantiate a FileSet from a string? Are you thinking that we ought to predict/recompute the output file set separately from the SolutionTask execution? Have I overlooked some existing provision for effectively returning values (other than string properties and exceptions) from tasks? If not, should there be such a thing? Sean --- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today * Register for a JBoss Training Course Free Certification Exam for All Training Attendees Through End of 2005 Visit http://www.jboss.com/services/certification for more information ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
RE: [nant-dev] Solution task feature proposal (with patch): write list of output s to a property
I think MSBuild also has something similar, but I haven't yet looked into it. Anyone know more about what they use ? I just read some of their PDC slides, Word documents, and some of http://msdn2.microsoft.com/en-us/library/0k6kkbsd(en-US,VS.80).aspx It seems that MSBuild parameters can be output as well as input, and they have a small set of types for parameters (not just strings). The MSBuild task has an ITaskItem[] parameter called TargetOutputs. So in MSBuild, one nests an Output element inside a task to bind a property or an Item to a parameter. ITaskItem seems to be the analog of an NAnt FileSet. For concreteness, here's their sample build file demonstrating how the MSBuild task takes ITaskItem[] input and provides ITaskItem[] output: --- Project xmlns=http://schemas.microsoft.com/developer/msbuild/2003; ItemGroup ProjectReferences Include=*.*proj / /ItemGroup Target Name=BuildOtherProjects MSBuild Projects=@(ProjectReferences) Targets=Build Output TaskParameter=TargetOutputs ItemName=AssembliesBuiltByChildProjects / /MSBuild /Target /Project --- References: Item Element: http://msdn2.microsoft.com/en-us/library/ms164283 Property Element: http://msdn2.microsoft.com/en-us/library/ms164288 Output Element: http://msdn2.microsoft.com/en-us/library/ms164287 MSBuild Task: http://msdn2.microsoft.com/en-us/library/z7f65y0d MSBuild Items Concept: http://msdn2.microsoft.com/en-us/library/ms171453 MSBuild Property Concept: http://msdn2.microsoft.com/en-us/library/ms171458 --- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today * Register for a JBoss Training Course Free Certification Exam for All Training Attendees Through End of 2005 Visit http://www.jboss.com/services/certification for more information ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Solution task feature proposal (with patch): write list of output s to a property
I'd like to be able to access a list of outputs generated by the execution of the solution task. Attached is a patch that implements this feature using NAnt properties. The solution task now maintains a list of all outputs (and also a list of just the assemblies it compiles) during its execution. Three new optional properties provide access to this information: outputassembliesproperty -- Name of a property whose value should be set to a list of assemblies produced during the execution of this task. outputfilesdelim -- String used to separate filenames for outputfilesproperty and outputassembliesproperty. : is the default. outputfilesproperty -- Name of a property whose value should be set to a list of output files produced during the execution of this task. Here's an example use of the new feature: --- solution configuration=${configuration} solutionfile=iDeal.sln failonerror=true verbose=${verboseP} outputfilesproperty=outputFiles outputfilesdelim=: outputassembliesproperty=outputAssemblies assemblyfolders failonempty=true include name=${dependency-path}/** / /assemblyfolders /solution echo message=We could feed the following list to Ndepend: / foreach item=String in=${outputAssemblies} delim=: property=filename echo message=output: ${filename} / /foreach --- Comments, criticisms, suggestions? Sean Foy outputfiles.diff Description: Binary data
[nant-dev] Solution task
Title: Solution task I'm a new to nant, I' m trying to use solution task to be able to build a dotnet project , here is my build file project name=MasterBuild default=build target name=build solution configuration=debug solutionfile=masterbuild\MasterBuild.sln projects includes name=masterbuild\\MasterBuild.vcproj / /projects /solution /target /project Here is the output. build: [solution] Starting solution build. BUILD FAILED INTERNAL ERROR System.IO.IOException: The media is write protected. at System.IO.__Error.WinIOError(Int32 errorCode, String str) at System.IO.Directory.InternalCreateDirectory(String fullPath, String path) at System.IO.Directory.CreateDirectory(String path) at NAnt.VSNet.VcConfiguration..ctor(XmlElement elem, VcProject parentProject, Solution parentSln, VcConfiguration parent, String outputDir) at NAnt.VSNet.VcProject.Load(Solution sln, String projectPath) at NAnt.VSNet.ProjectFactory.LoadProject(Solution sln, SolutionTask slnTask, TempFileCollection tfc, String outputDir, String path) at NAnt.VSNet.Solution.LoadProjects() at NAnt.VSNet.Solution..ctor(String solutionFileName, ArrayList additionalPro jects, ArrayList referenceProjects, TempFileCollection tfc, SolutionTask solutio nTask, WebMapCollection webMappings, FileSet excludesProjects, String outputDir) at NAnt.VSNet.Tasks.SolutionTask.ExecuteTask() at NAnt.Core.Task.Execute() at NAnt.Core.Target.Execute() at NAnt.Core.Project.Execute(String targetName, Boolean forceDependencies) at NAnt.Core.Project.Execute() at NAnt.Core.Project.Run() Thanks in advance.
[nant-dev] solution task: Exception when building a solution that contains a VC++
Hello I am using nant-0.85-rc1. I get this exception when excecuting the solution task. My solution contains 1 VC++.Net project that contains project references to other C# projects in the solution. I had a cursory look at the code. It appears (to me) that I will always get this exception if the VC++ project contains project references (since CreateReference is called with parameter settings = null). Build script output -- Buildfile: file:///C:/Source/nant-0.85-rc1/VisualStudioBuild/MyBuildFiles/AutoBuild .build.xml Target(s) specified: Runner Runner: DisplaySystemInfo: [sysinfo] Setting system information properties under sys* OutputProperties: [echo] ab.build.title = Continuous [echo] ab.dir.base= C:\AutoBuild\Cesdotnet [echo] ab.dir.build = C:\AutoBuild\Cesdotnet\Build\Continuous [echo] ab.dir.checkout= C:\AutoBuild\Cesdotnet\ContinuousCheckout [echo] ab.dir.results = C:\AutoBuild\Cesdotnet\Results\Continuous [echo] ab.dir.results.temp= C:\AutoBuild\Cesdotnet\Results\ContinuousTemp [echo] ab.build.configuration = Debug [echo] ab.build.solutionfile = CesAll.sln build: [echo] Building solution : C:\Source\cesdotnet_HEAD_NEW\cesdotnet\src\CesAll.sln [solution] Starting solution build. [solution] Only C#, VB.NET and C++ projects are supported. Skipping project 'Database\Database.dbp'. BUILD FAILED - 0 non-fatal error(s), 1 warning(s) INTERNAL ERROR System.ArgumentNullException: Value cannot be null. Parameter name: projectSettings at NAnt.VSNet.ProjectReference..ctor(XmlElement xmlDefinition, ReferencesResolver referencesResolver, ProjectBase parent, SolutionBase solution, ProjectSettings projectSettings, GacCache gacCache, DirectoryInfo outputDir) in c:\source\nant-0.85-rc1\visualstudiobuild\nant.vsnet\projectreference.cs :line 46 at NAnt.VSNet.ReferenceFactory.CreateReference(SolutionBase solution, ProjectSettings projectSettings, XmlElement xmlDefinition, GacCache gacCache, ReferencesResolver referencesResolver, ProjectBase parent, DirectoryInfo outputDir) in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.VSNet\ReferenceFactory.cs :line 75 at NAnt.VSNet.VcProject..ctor(SolutionBase solution, String projectPath, XmlElement xmlDefinition, SolutionTask solutionTask, TempFileCollection tfc, GacCache gacCache, ReferencesResolver refResolver, DirectoryInfo outputDir) in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.VSNet\VcProject.cs:line 81 at NAnt.VSNet.ProjectFactory.CreateProject(SolutionBase solution, SolutionTask solutionTask, TempFileCollection tfc, GacCache gacCache, ReferencesResolver referencesResolver, DirectoryInfo outputDir, String projectPath) in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.VSNet\ProjectFactory.cs:l ine 191 at NAnt.VSNet.ProjectFactory.LoadProject(SolutionBase solution, SolutionTask solutionTask, TempFileCollection tfc, GacCache gacCache, ReferencesResolver referencesResolver, DirectoryInfo outputDir, String path) in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.VSNet\ProjectFactory.cs:l ine 98 at NAnt.VSNet.SolutionBase.LoadProjects(GacCache gacCache, ReferencesResolver refResolver) in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.VSNet\SolutionBase.cs:lin e 443 at NAnt.VSNet.Everett.Solution..ctor(String solutionContent, SolutionTask solutionTask, TempFileCollection tfc, GacCache gacCache, ReferencesResolver refResolver) in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.VSNet\Everett\Solution.cs :line 98 at NAnt.VSNet.SolutionFactory.LoadSolution(SolutionTask solutionTask, TempFileCollection tfc, GacCache gacCache, ReferencesResolver refResolver) in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.VSNet\SolutionFactory.cs: line 80 at NAnt.VSNet.Tasks.SolutionTask.ExecuteTask() in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.VSNet\Tasks\SolutionTask. cs:line 377 at NAnt.Core.Task.Execute() in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.Core\Task.cs:line 177 at NAnt.Core.Target.Execute() in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.Core\Target.cs:line 249 at NAnt.Core.Project.Execute(String targetName, Boolean forceDependencies) in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.Core\Project.cs:line 882 at NAnt.Core.Project.Execute(String targetName) in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.Core\Project.cs:line 852 at NAnt.Core.Tasks.CallTask.ExecuteTask() in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.Core\Tasks\CallTask.cs:li ne 132 at NAnt.Core.Task.Execute() in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.Core\Task.cs:line 177 at NAnt.Core.Target.Execute() in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.Core\Target.cs:line 249 at NAnt.Core.Project.Execute(String targetName, Boolean forceDependencies) in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.Core\Project.cs:line 882 at NAnt.Core.Project.Execute()
RE: [nant-dev] solution task: Exception when building a solution that contains a VC++
Chris, This was a regression in NAnt 0.85 RC1, which has been fixed since. Try using a recent nightly build (http://nant.sourceforge.net/nightly/latest), or wait for the next release candidate. Gert -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Chris Fewtrell Sent: vrijdag 21 januari 2005 17:28 To: nant-developers@lists.sourceforge.net Subject: [nant-dev] solution task: Exception when building a solution that contains a VC++ Hello I am using nant-0.85-rc1. I get this exception when excecuting the solution task. My solution contains 1 VC++.Net project that contains project references to other C# projects in the solution. I had a cursory look at the code. It appears (to me) that I will always get this exception if the VC++ project contains project references (since CreateReference is called with parameter settings = null). Build script output -- Buildfile: file:///C:/Source/nant-0.85-rc1/VisualStudioBuild/MyBuildFiles /AutoBuild .build.xml Target(s) specified: Runner Runner: DisplaySystemInfo: [sysinfo] Setting system information properties under sys* OutputProperties: [echo] ab.build.title = Continuous [echo] ab.dir.base= C:\AutoBuild\Cesdotnet [echo] ab.dir.build = C:\AutoBuild\Cesdotnet\Build\Continuous [echo] ab.dir.checkout= C:\AutoBuild\Cesdotnet\ContinuousCheckout [echo] ab.dir.results = C:\AutoBuild\Cesdotnet\Results\Continuous [echo] ab.dir.results.temp= C:\AutoBuild\Cesdotnet\Results\ContinuousTemp [echo] ab.build.configuration = Debug [echo] ab.build.solutionfile = CesAll.sln build: [echo] Building solution : C:\Source\cesdotnet_HEAD_NEW\cesdotnet\src\CesAll.sln [solution] Starting solution build. [solution] Only C#, VB.NET and C++ projects are supported. Skipping project 'Database\Database.dbp'. BUILD FAILED - 0 non-fatal error(s), 1 warning(s) INTERNAL ERROR System.ArgumentNullException: Value cannot be null. Parameter name: projectSettings at NAnt.VSNet.ProjectReference..ctor(XmlElement xmlDefinition, ReferencesResolver referencesResolver, ProjectBase parent, SolutionBase solution, ProjectSettings projectSettings, GacCache gacCache, DirectoryInfo outputDir) in c:\source\nant-0.85-rc1\visualstudiobuild\nant.vsnet\projectre ference.cs :line 46 at NAnt.VSNet.ReferenceFactory.CreateReference(SolutionBase solution, ProjectSettings projectSettings, XmlElement xmlDefinition, GacCache gacCache, ReferencesResolver referencesResolver, ProjectBase parent, DirectoryInfo outputDir) in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.VSNet\Reference Factory.cs :line 75 at NAnt.VSNet.VcProject..ctor(SolutionBase solution, String projectPath, XmlElement xmlDefinition, SolutionTask solutionTask, TempFileCollection tfc, GacCache gacCache, ReferencesResolver refResolver, DirectoryInfo outputDir) in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.VSNet\VcProject.cs:line 81 at NAnt.VSNet.ProjectFactory.CreateProject(SolutionBase solution, SolutionTask solutionTask, TempFileCollection tfc, GacCache gacCache, ReferencesResolver referencesResolver, DirectoryInfo outputDir, String projectPath) in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.VSNet\ProjectFa ctory.cs:l ine 191 at NAnt.VSNet.ProjectFactory.LoadProject(SolutionBase solution, SolutionTask solutionTask, TempFileCollection tfc, GacCache gacCache, ReferencesResolver referencesResolver, DirectoryInfo outputDir, String path) in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.VSNet\ProjectFa ctory.cs:l ine 98 at NAnt.VSNet.SolutionBase.LoadProjects(GacCache gacCache, ReferencesResolver refResolver) in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.VSNet\SolutionB ase.cs:lin e 443 at NAnt.VSNet.Everett.Solution..ctor(String solutionContent, SolutionTask solutionTask, TempFileCollection tfc, GacCache gacCache, ReferencesResolver refResolver) in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.VSNet\Everett\S olution.cs :line 98 at NAnt.VSNet.SolutionFactory.LoadSolution(SolutionTask solutionTask, TempFileCollection tfc, GacCache gacCache, ReferencesResolver refResolver) in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.VSNet\SolutionF actory.cs: line 80 at NAnt.VSNet.Tasks.SolutionTask.ExecuteTask() in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.VSNet\Tasks\Sol utionTask. cs:line 377 at NAnt.Core.Task.Execute() in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.Core\Task.cs:line 177 at NAnt.Core.Target.Execute() in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.Core\Target.cs:line 249 at NAnt.Core.Project.Execute(String targetName, Boolean forceDependencies) in C:\Source\nant-0.85-rc1\VisualStudioBuild\NAnt.Core\Project.cs :line 882
RE: [nant-dev] Solution task and app.config file
Hi Gert, It should indeed do this for Console and Windows Application projects. If you can send me a small repro, I'll have a look. Gert -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Gert Kello Sent: woensdag 29 december 2004 10:15 To: nant-developers@lists.sourceforge.net Subject: [nant-dev] Solution task and app.config file Hi. I looked around inside the solution task source, and it seems that it should copy the app.config file to the {outputdir}/{exename}.config file. For some reason, this does not happen for me. IS this bug or just some misunderstanding from my side? -- Gert --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Solution task for vcproj - Default import lib issue
Hi All, First off, thanks for great work done on Nant. I used the original Ant a few years ago on both C++ Java projects now have a need to compile a fairly complex C++ solution (ie. multiple projects with thousands of files). So far, with a little gentle persuasion, I've managed to get the first project within the solution. I've had to add the following compiler arguments to VcArgumentMap.cs: map.AddBool(SmallerTypeCheck, RTCc); map.AddBool(ForceConformanceInForLoopScope, Zc:forScope); map.AddEnum(OptimizeForProcessor, null, G5, G6, G7); map.AddBool(Detect64BitPortabilityProblems, Wp64); map.AddString(PrecompiledHeaderThrough, null); Although I had a slight issue passing PrecompiledHeaderThrough as a VcStringArgument due to the fact that the default implementation attempted to stick a / at the start of the argument - despite that this argument is used in conjunction with UsePrecompiledHeader. As a hack ( in order to get something up running) I changed VcStringArgument.MapValue to the following in order to avoid the unwanted decoration: internal override string MapValue(string propValue) { return propValue; } Maybe there needs to be an map.AddUndecoratedString((PrecompiledHeaderThrough)? The issue I'm now a little stuck on is the fact the C++ projects by default import lib files created by other projects they're dependent on Nant doesn't currently replicate that behaviour. From MSDN If a project is dependent on another project that produces a DLL, the project system automatically will link the .lib file produced by that child project. Any chance somebody in the know can either check in a fix for this or point me in the correct direction to fix it myself? Cheers, Will Wilson. PS. Apologies for cross posting to the nant-users list. It was late ;) --- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_id=5588alloc_id=12065op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Solution task locks dll
Situation : NAnt nightly build 20040525 VB.NET Solution with 2 projects, project B is dependend on project A with copy local = true. Building the solution the first time , no problem both projects are build and the dll from the first project is copied into the output dir of the second project. Change a source file. Rebuild. The build fails for the first project with : vbc : error BC31019: Unable to write to output file ..\ProjectA\bin\ProjectA.dll': System Error H80070020 The error is File in use by another process I'm able to delete the dll from explorer or the commandline. *** This message should only be read by those persons to whom it is addressed, and may contain confidential information, the disclosure of which is prohibited. This message is not intended to create rights or obligations without subsequent written confirmation of its contents. If you have received this message in error, please notify us immediately ***
[nant-dev] solution task
I have found that the solution task has greatly matured since I last used it. I use enterprise templates in my solutions all the time. At work the master solution contains 109 projects! The NAnt solution task does pretty well until it gets to a VS.NET database project then it gives me an error. Since Database projects dont need to be built how hard would it be to skip them instead of erroring out and failing? Brian
Re: [nant-dev] solution task
Brian, Recent nightly builds of NAnt (http://nant.sourceforge.net/nightly/builds) should indeed skip database and setup projects. Please report back if you can reproduce this using a recent nighty. Gert - Original Message - From: Brian Nantz To: [EMAIL PROTECTED] Sent: Wednesday, May 26, 2004 4:07 PM Subject: [nant-dev] solution task I have found that the solution task has greatly matured since I last used it. I use enterprise templates in my solutions all the time. At work the master solution contains 109 projects! The NAnt solution task does pretty well until it gets to a VS.NET database project then it gives me an error. Since Database projects dont need to be built how hard would it be to skip them instead of erroring out and failing? Brian
RE: [nant-dev] solution task
I thought I posted this before but I dont think it went through. I tried this with May 25 build and it doesnt work. Brian From: Gert Driesen [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 26, 2004 9:48 AM To: Brian Nantz; [EMAIL PROTECTED] Subject: Re: [nant-dev] solution task Brian, Recent nightly builds of NAnt (http://nant.sourceforge.net/nightly/builds) should indeed skip database and setup projects. Please report back if you can reproduce this using a recent nighty. Gert - Original Message - From: Brian Nantz To: [EMAIL PROTECTED] Sent: Wednesday, May 26, 2004 4:07 PM Subject: [nant-dev] solution task I have found that the solution task has greatly matured since I last used it. I use enterprise templates in my solutions all the time. At work the master solution contains 109 projects! The NAnt solution task does pretty well until it gets to a VS.NET database project then it gives me an error. Since Database projects dont need to be built how hard would it be to skip them instead of erroring out and failing? Brian
RE: [nant-dev] solution task
No I only point to the solution and map the webservices. The csproj files may refernce the database project I don't know but there are no filesets. -Original Message- From: Gert Driesen [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 26, 2004 12:44 PM To: Brian Nantz Subject: Re: [nant-dev] solution task Brian, Could it be that you specified that project using the projects or referenceprojects fileset ? Gert - Original Message - From: Brian Nantz [EMAIL PROTECTED] To: 'Gert Driesen' [EMAIL PROTECTED] Sent: Wednesday, May 26, 2004 5:50 PM Subject: RE: [nant-dev] solution task I was using the May 23 build now reproduced it with the May 25 build. Error is: Unknown project file extension '.dbp'. Thanks for the help. Brian _ From: Gert Driesen [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 26, 2004 9:48 AM To: Brian Nantz; [EMAIL PROTECTED] Subject: Re: [nant-dev] solution task Brian, Recent nightly builds of NAnt (http://nant.sourceforge.net/nightly/builds) should indeed skip database and setup projects. Please report back if you can reproduce this using a recent nighty. Gert - Original Message - From: Brian mailto:[EMAIL PROTECTED] Nantz To: [EMAIL PROTECTED] Sent: Wednesday, May 26, 2004 4:07 PM Subject: [nant-dev] solution task I have found that the solution task has greatly matured since I last used it. I use enterprise templates in my solutions all the time. At work the master solution contains 109 projects! The NAnt solution task does pretty well until it gets to a VS.NET database project then it gives me an error. Since Database projects don't need to be built how hard would it be to skip them instead of erroring out and failing? Brian --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] solution task
- Original Message - From: Brian Nantz [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, May 26, 2004 9:46 PM Subject: RE: [nant-dev] solution task No I only point to the solution and map the webservices. The csproj files may refernce the database project I don't know but there are no filesets. Yeah, your probably reference them from your c# project files. I'm not sure what do with this, skipping references means skipping dependencies and I don't think that's a good idea. You should probably remove the reference to the database project from your c# project. What do you think ? Gert --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
RE: [nant-dev] solution task
That's certainly a valid workaround. But since the error message says that it doesn't know what a .dbp project is then exists. How hard would it be to just not exit if it's a dbp project? They output of that project to my knowledge is a database table. That means that it shouldn't affect dependant references. We use SQL scripts to create the db. I say just skip that project type even if its in the csproj file. -Original Message- From: Gert Driesen [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 26, 2004 3:49 PM To: Brian Nantz; [EMAIL PROTECTED] Subject: Re: [nant-dev] solution task - Original Message - From: Brian Nantz [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, May 26, 2004 9:46 PM Subject: RE: [nant-dev] solution task No I only point to the solution and map the webservices. The csproj files may refernce the database project I don't know but there are no filesets. Yeah, your probably reference them from your c# project files. I'm not sure what do with this, skipping references means skipping dependencies and I don't think that's a good idea. You should probably remove the reference to the database project from your c# project. What do you think ? Gert --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Solution task on Linux?
Hi, I was just curious if anyone has looked closely at what it would take to get the solution task running on Linux/ mono? I would like to help out with that but am not sure where to start and what is being done. Cheers, Clayton --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id149alloc_id?66op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Solution Task Build Order
I just upgraded to the latest greatest (5.20) NAnt and NAntContrib and the solution task is not building my projects in the correct order and crashing because of this. It seems to be exactly the opposite of the order it should (i.e. If I put 2 projects in there, it will always choose the wrong one to build first). Any help or direction to fall back to. Builds correctly with .84, but I NEED satellite assembly support badly now. Thanks, Eric __ Do you Yahoo!? Yahoo! Domains Claim yours for only $14.70/year http://smallbusiness.promotions.yahoo.com/offer --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Solution Task Build Order
Eric, Please submit a bug report and attach a small repro for this issue. Thanks, Gert - Original Message - From: Eric Fetzer [EMAIL PROTECTED] To: NAnt Developers [EMAIL PROTECTED] Sent: Thursday, May 20, 2004 11:11 PM Subject: [nant-dev] Solution Task Build Order I just upgraded to the latest greatest (5.20) NAnt and NAntContrib and the solution task is not building my projects in the correct order and crashing because of this. It seems to be exactly the opposite of the order it should (i.e. If I put 2 projects in there, it will always choose the wrong one to build first). Any help or direction to fall back to. Builds correctly with .84, but I NEED satellite assembly support badly now. Thanks, Eric __ Do you Yahoo!? Yahoo! Domains - Claim yours for only $14.70/year http://smallbusiness.promotions.yahoo.com/offer --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Solution task problem
Hi all, My .NET project has reference to some Visual Basic COM objects (e.g. MyServer.dll, COMSVCLIB.dll etc.). When I used NANT (latest nightly build May 10, 2004) to build this solution, it generates Interop.MyServer.dll, MyServer.dll, Interop.COMSVCLIB.dll and COMSVCLIB.dll. But if I build the project from VS.Net IDE, it only creates Interop.MyServer.dll and Interop.COMSVCLIB.dll. The problem with this is that during deployment process, the MyServer.dll wrappers might accidentally overwrite the COM+ version of MyServer.dll which could potentially screw up. And for COMSVCLIB.dll, it is redundant. Is it by design? Are there any options I can do to make sure NANT build the same was as the VB.NET IDE does? Thanks. --- This SF.Net email is sponsored by: SourceForge.net Broadband Sign-up now for SourceForge Broadband and get the fastest 6.0/768 connection for only $19.95/mo for the first 3 months! http://ads.osdn.com/?ad_id%62alloc_ida84op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Solution task: RecursiveLoadTemplateProject error
Hi, I have problems with buildin solution, when I trying to build it, I'm getting following error message: [solution] Starting solution build. BUILD FAILED Error checking whether 'C:\MPI2Build\src\MPI\MAG\HostingEnvironment\http://localhost/MPISeviceFacad e/MPISeviceFacade.csproj' is an enterprise template project. The given path's format is not supported. Total time: 1.5 seconds. I looked into sources and I found that that is problem with RecursiveLoadTemplateProject function in Solution.cs. This function recursively loads all subprojects. The problem is that it doesn't use WebMap to translate web Urls into local paths. I have some subprojects located on the web, so I think that there must be WebMap transformation implemented in the RecursiveLoadTemplateProject function. There is my sample code doing it. I added webMaps parameter into RecursiveLoadTemplateProject function, to give it access to WebMaps. The call of function looks like: RecursiveLoadTemplateProject(fullPath,_webMaps); I'm not a programmer, so I don't know if it is best solution - but it works :) My code: public void RecursiveLoadTemplateProject(string fileName, WebMapCollection webMaps) { XmlDocument doc = new XmlDocument(); doc.Load(fileName); WebMapCollection _webMaps = webMaps; foreach (XmlNode node in doc.SelectNodes(//Reference)) { XmlNode projectGuidNode = node.SelectSingleNode(GUIDPROJECTID); XmlNode fileNode = node.SelectSingleNode(FILE); if (fileNode == null) { Log(Level.Warning, LogPrefix + Reference with missing FILE node. Skipping.); continue; } // check if we're dealing with project or assembly reference if (projectGuidNode != null) { string subProjectFilename = node.SelectSingleNode(FILE).InnerText; string fullPath; // translate URLs to physical paths if using a webmap string map = _webMaps.FindBestMatch(subProjectFilename); if (map != null) { Log(Level.Debug, LogPrefix + Found webmap match: + map); subProjectFilename = map; } try { Uri uri = new Uri(subProjectFilename); if (uri.Scheme == Uri.UriSchemeFile) { fullPath = Path.Combine(Path.GetDirectoryName(fileName), subProjectFilename); } else { fullPath = subProjectFilename; } } catch (UriFormatException) { fullPath = Path.Combine(Path.GetDirectoryName(fileName), subProjectFilename); } if (Project.IsEnterpriseTemplateProject(fullPath)) { RecursiveLoadTemplateProject(fullPath,_webMaps); } else { _htProjectFiles[projectGuidNode.InnerText] = fullPath; } } else { Log(Level.Verbose, LogPrefix + Skipping file reference '{0}'., fileNode.InnerText); } } } -- Pawel Madziar Configuration Manager Altkom Akademia SA Phone: +48 22 860-70-42 [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] --- This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek For a limited time only, get FREE Ground shipping on all orders of $35 or more. Hurry up and shop folks, this offer expires April 30th! http://www.thinkgeek.com/freeshipping/?cpg=12297 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Solution task problems
Jia, I suggest using the latest nightly build (http://nant.sourceforge.net/nightly/builds) as lots of fixes for the solution task were committed recently. Let us know if you still have this or other problems with the nightly build. Gert On Mon, 2004-01-05 at 03:41, Jia Bin wrote: hi, I'm trying to build a solution and met the following problem. BUILD FAILED INTERNAL ERROR System.IO.FileLoadException: Assembly gemgeocurtainm.dll already loaded without additional security evidenc . File name: gemgeocurtainm.dll Server stack trace: at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Boolean isStringized, Eviden e assemblySecurity, Boolean throwOnFileNotFound, Assembly locationHint, StackCrawlMark stackMark) at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Boolean stringized, Evidence assemb ySecurity, StackCrawlMark stackMark) at System.Reflection.Assembly.LoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm) at System.Reflection.Assembly.LoadFrom(String assemblyFile, Evidence securityEvidence) at NAnt.DotNet.Tasks.LicenseGatherer.CreateLicenseFile(LicenseTask licenseTask, String licenseFile) in D \Work\NAnt\src\NAnt.DotNet\Tasks\LicenseTask.cs:line 251 at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(MethodBase mb, Object[] args Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[] outArgs) at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, oolean fExecuteInContext) Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData msgData, Int32 type) at NAnt.DotNet.Tasks.LicenseGatherer.CreateLicenseFile(LicenseTask licenseTask, String licenseFile) in D \Work\NAnt\src\NAnt.DotNet\Tasks\LicenseTask.cs:line 210 at NAnt.DotNet.Tasks.LicenseTask.ExecuteTask() in D:\Work\NAnt\src\NAnt.DotNet\Tasks\LicenseTask.cs:line 191 at NAnt.Core.Task.Execute() in D:\Work\NAnt\src\NAnt.Core\Task.cs:line 151 at NAnt.VSNet.Resource.CompileLicx() in D:\Work\NAnt\src\NAnt.VSNet\Resource.cs:line 165 at NAnt.VSNet.Resource.Compile(ConfigurationSettings configurationSettings, Boolean showCommands) in D:\ ork\NAnt\src\NAnt.VSNet\Resource.cs:line 73 at NAnt.VSNet.Project.Compile(String configuration, ArrayList alCSCArguments, String strLogFile, Boolean bVerbose, Boolean bShowCommands) in D:\Work\NAnt\src\NAnt.VSNet\Project.cs:line 355 at NAnt.VSNet.Solution.Compile(String configuration, ArrayList compilerArguments, String logFile, Boolea verbose, Boolean showCommands) in D:\Work\NAnt\src\NAnt.VSNet\Solution.cs:line 279 at NAnt.VSNet.Tasks.SolutionTask.ExecuteTask() in D:\Work\NAnt\src\NAnt.VSNet\Tasks\SolutionTask.cs:line 335 at NAnt.Core.Task.Execute() in D:\Work\NAnt\src\NAnt.Core\Task.cs:line 151 at NAnt.Core.Target.Execute() in D:\Work\NAnt\src\NAnt.Core\Target.cs:line 217 at NAnt.Core.Project.Execute(String targetName, Boolean forceDependencies) in D:\Work\NAnt\src\NAnt.Core Project.cs:line 772 at NAnt.Core.Project.Execute() in D:\Work\NAnt\src\NAnt.Core\Project.cs:line 734 at NAnt.Core.Project.Run() in D:\Work\NAnt\src\NAnt.Core\Project.cs:line 797 Regards Jia Bin - BGC-PET:http://bgc-pet.fea.slb.com/Gallery/ Tel: +86 10 6279 9009 (ext.6239) Fax: +86 10 6279 3733 --- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470alloc_id=3638op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Solution task fixes + speedups
I've spent a bit more time speeding up the solution task and fixing differences from VS.NET. Here's a short summary of what to expect with the latest CVS: 1. We only create one AppDomain per solution build and per project build. We were creating dozens of AppDomains per project build before. 2. GAC checks (IsAssemblyInGac) are now cached per solution build. This cuts 25% of the build time off alone. 3. The HintPath for a reference is now checked before the AssemblyFolders. VS.NET checks it this way and it can break a solution that wants to reference (using a direct assembly reference) a different version of an assembly than might have been installed in an AssemblyFolder path. Matt. --- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470alloc_id=3638op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Solution task fixes + speedups
- Original Message - From: Matthew Mastracci [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: Nant-Developers (E-mail) [EMAIL PROTECTED] Sent: Tuesday, March 16, 2004 11:05 PM Subject: Re: [nant-dev] Solution task fixes + speedups Gert Driesen wrote: 3. The HintPath for a reference is now checked before the AssemblyFolders. VS.NET checks it this way and it can break a solution that wants to reference (using a direct assembly reference) a different version of an assembly than might have been installed in an AssemblyFolder path. Are you sure about this ??? I haven't checked this, but according to MS this is kind of the last resort ... Guaranteed. I have a project that references an assembly (v1 of the DLL) with the same name as an assembly in one of my assembly folders (v2 of the DLL). Before my change, it was incorrectly picking up v2. After the change, it correctly picks up v1. But you actually have two different assembly folders : you have the assembly folder that is referenced in your project file using the AssemblyFolderKey attribute of the Reference element, eg. Reference Name = Infragistics.Win.UltraWinListBar.v3 AssemblyName = Infragistics.Win.UltraWinListBar.v3 AssemblyFolderKey = hklm\infragistics.win.ultrawinlistbar.v3.00.20033 / and you have the rest of the AssemblyFolder registry keys. Perhaps VS.NET first checks the AssemblyFolderKey, then the HintPath and then the rest of the assembly folders. But I'm just guessing here. Even if Microsoft describes it as a last resort, it's definitely not how VS.NET does it. I'll verify it tomorrow, and report it to MS if necessary Gert --- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470alloc_id=3638op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Solution Task Error
Hello, I'm receiving the error stated belowfrom the "solution" task. I'm currently using nightly build nant-0.85-20040221 The project is a c# Class Library project, which generates a dll file. The Script call looks like this target name="srcbuild" depends="prebuild" description="Builds all sub projects" solution solutionfile="${src.file.sln}" configuration="${build.target}" /solution /target I checked the variable parameters and they are correct. Let me know what other information I can provide? [solution] Starting solution build. onFailure: BUILD FAILED INTERNAL ERROR System.NullReferenceException: Object reference not set to an instance of an object. at NAnt.VSNet.Reference..ctor(Solution solution, ProjectSettings ps, XmlElement elemReference, SolutionTask solutionTask, DirectoryInfo outputDir) in C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tmp4AE.tmp\src\NAnt.VSNet\Reference.cs:line 154 at NAnt.VSNet.Project.Load(Solution sln, String projectPath) in C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tmp4AE.tmp\src\NAnt.VSNet\Project.cs:line 194 at NAnt.VSNet.ProjectFactory.LoadProject(Solution sln, SolutionTask slnTask, TempFileCollection tfc, DirectoryInfo outputDir, String path) in C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tmp4AE.tmp\src\NAnt.VSNet\ProjectFactory.cs:line 70 at NAnt.VSNet.Solution.LoadProjects() in C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tmp4AE.tmp\src\NAnt.VSNet\Solution.cs:line 420 at NAnt.VSNet.Solution..ctor(FileInfo solutionFile, ArrayList additionalProjects, ArrayList referenceProjects, TempFileCollection tfc, SolutionTask solutionTask, WebMapCollection webMappings, FileSet excludesProjects, DirectoryInfo outputDir) in C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tmp4AE.tmp\src\NAnt.VSNet\Solution.cs:line 122 at NAnt.VSNet.Tasks.SolutionTask.ExecuteTask() in C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tmp4AE.tmp\src\NAnt.VSNet\Tasks\SolutionTask.cs:line 330 at NAnt.Core.Task.Execute() in C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tmp4AE.tmp\src\NAnt.Core\Task.cs:line 151 at NAnt.Core.Target.Execute() in C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tmp4AE.tmp\src\NAnt.Core\Target.cs:line 217 at NAnt.Core.Project.Execute(String targetName, Boolean forceDependencies) in C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tmp4AE.tmp\src\NAnt.Core\Project.cs:line 768 at NAnt.Core.Project.Execute() in C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tmp4AE.tmp\src\NAnt.Core\Project.cs:line 730 at NAnt.Core.Project.Run() in C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tmp4AE.tmp\src\NAnt.Core\Project.cs:line 793 Please send bug report to [EMAIL PROTECTED].
Re: [nant-dev] Solution Task Error
Joseph, Can you please send us the project file(s) that causes this issue ? Apparently one of the assembly references is missing a hintpath, and I'd like to see for what assembly VS.NET is not adding this ... Gert - Original Message - From: Joseph Kunjoonju To: [EMAIL PROTECTED] Sent: Monday, February 23, 2004 5:45 PM Subject: [nant-dev] "Solution" Task Error Hello, I'm receiving the error stated belowfrom the "solution" task. I'm currently using nightly build nant-0.85-20040221 The project is a c# Class Library project, which generates a dll file. The Script call looks like this target name="srcbuild" depends="prebuild" description="Builds all sub projects" solution solutionfile="${src.file.sln}" configuration="${build.target}" /solution /target I checked the variable parameters and they are correct. Let me know what other information I can provide? [solution] Starting solution build. onFailure: BUILD FAILED INTERNAL ERROR System.NullReferenceException: Object reference not set to an instance of an object. at NAnt.VSNet.Reference..ctor(Solution solution, ProjectSettings ps, XmlElement elemReference, SolutionTask solutionTask, DirectoryInfo outputDir) in C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tmp4AE.tmp\src\NAnt.VSNet\Reference.cs:line 154 at NAnt.VSNet.Project.Load(Solution sln, String projectPath) in C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tmp4AE.tmp\src\NAnt.VSNet\Project.cs:line 194 at NAnt.VSNet.ProjectFactory.LoadProject(Solution sln, SolutionTask slnTask, TempFileCollection tfc, DirectoryInfo outputDir, String path) in C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tmp4AE.tmp\src\NAnt.VSNet\ProjectFactory.cs:line 70 at NAnt.VSNet.Solution.LoadProjects() in C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tmp4AE.tmp\src\NAnt.VSNet\Solution.cs:line 420 at NAnt.VSNet.Solution..ctor(FileInfo solutionFile, ArrayList additionalProjects, ArrayList referenceProjects, TempFileCollection tfc, SolutionTask solutionTask, WebMapCollection webMappings, FileSet excludesProjects, DirectoryInfo outputDir) in C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tmp4AE.tmp\src\NAnt.VSNet\Solution.cs:line 122 at NAnt.VSNet.Tasks.SolutionTask.ExecuteTask() in C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tmp4AE.tmp\src\NAnt.VSNet\Tasks\SolutionTask.cs:line 330 at NAnt.Core.Task.Execute() in C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tmp4AE.tmp\src\NAnt.Core\Task.cs:line 151 at NAnt.Core.Target.Execute() in C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tmp4AE.tmp\src\NAnt.Core\Target.cs:line 217 at NAnt.Core.Project.Execute(String targetName, Boolean forceDependencies) in C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tmp4AE.tmp\src\NAnt.Core\Project.cs:line 768 at NAnt.Core.Project.Execute() in C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tmp4AE.tmp\src\NAnt.Core\Project.cs:line 730 at NAnt.Core.Project.Run() in C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tmp4AE.tmp\src\NAnt.Core\Project.cs:line 793 Please send bug report to [EMAIL PROTECTED].
[nant-dev] Solution task problems
hi, I'm trying to build a solution and met the following problem. BUILD FAILED INTERNAL ERROR System.IO.FileLoadException: Assembly gemgeocurtainm.dll already loaded without additional security evidenc . File name: gemgeocurtainm.dll Server stack trace: at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Boolean isStringized, Eviden e assemblySecurity, Boolean throwOnFileNotFound, Assembly locationHint, StackCrawlMark stackMark) at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Boolean stringized, Evidence assemb ySecurity, StackCrawlMark stackMark) at System.Reflection.Assembly.LoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm) at System.Reflection.Assembly.LoadFrom(String assemblyFile, Evidence securityEvidence) at NAnt.DotNet.Tasks.LicenseGatherer.CreateLicenseFile(LicenseTask licenseTask, String licenseFile) in D \Work\NAnt\src\NAnt.DotNet\Tasks\LicenseTask.cs:line 251 at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(MethodBase mb, Object[] args Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[] outArgs) at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, oolean fExecuteInContext) Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData msgData, Int32 type) at NAnt.DotNet.Tasks.LicenseGatherer.CreateLicenseFile(LicenseTask licenseTask, String licenseFile) in D \Work\NAnt\src\NAnt.DotNet\Tasks\LicenseTask.cs:line 210 at NAnt.DotNet.Tasks.LicenseTask.ExecuteTask() in D:\Work\NAnt\src\NAnt.DotNet\Tasks\LicenseTask.cs:line 191 at NAnt.Core.Task.Execute() in D:\Work\NAnt\src\NAnt.Core\Task.cs:line 151 at NAnt.VSNet.Resource.CompileLicx() in D:\Work\NAnt\src\NAnt.VSNet\Resource.cs:line 165 at NAnt.VSNet.Resource.Compile(ConfigurationSettings configurationSettings, Boolean showCommands) in D:\ ork\NAnt\src\NAnt.VSNet\Resource.cs:line 73 at NAnt.VSNet.Project.Compile(String configuration, ArrayList alCSCArguments, String strLogFile, Boolean bVerbose, Boolean bShowCommands) in D:\Work\NAnt\src\NAnt.VSNet\Project.cs:line 355 at NAnt.VSNet.Solution.Compile(String configuration, ArrayList compilerArguments, String logFile, Boolea verbose, Boolean showCommands) in D:\Work\NAnt\src\NAnt.VSNet\Solution.cs:line 279 at NAnt.VSNet.Tasks.SolutionTask.ExecuteTask() in D:\Work\NAnt\src\NAnt.VSNet\Tasks\SolutionTask.cs:line 335 at NAnt.Core.Task.Execute() in D:\Work\NAnt\src\NAnt.Core\Task.cs:line 151 at NAnt.Core.Target.Execute() in D:\Work\NAnt\src\NAnt.Core\Target.cs:line 217 at NAnt.Core.Project.Execute(String targetName, Boolean forceDependencies) in D:\Work\NAnt\src\NAnt.Core Project.cs:line 772 at NAnt.Core.Project.Execute() in D:\Work\NAnt\src\NAnt.Core\Project.cs:line 734 at NAnt.Core.Project.Run() in D:\Work\NAnt\src\NAnt.Core\Project.cs:line 797 Regards Jia Bin - BGC-PET: http://bgc-pet.fea.slb.com/Gallery/ Tel: +86 10 6279 9009 (ext.6239) Fax: +86 10 6279 3733
Re: [nant-dev] Solution task problems
Jia, Can you package up a zip file containing the minimum set of files to reproduce this issue as I'd be really interested to get this fixed ? Thanks, Gert - Original Message - From: Jia Bin [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, January 05, 2004 3:41 AM Subject: [nant-dev] Solution task problems hi, I'm trying to build a solution and met the following problem. BUILD FAILED INTERNAL ERROR System.IO.FileLoadException: Assembly gemgeocurtainm.dll already loaded without additional security evidenc . File name: gemgeocurtainm.dll Server stack trace: at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Boolean isStringized, Eviden e assemblySecurity, Boolean throwOnFileNotFound, Assembly locationHint, StackCrawlMark stackMark) at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Boolean stringized, Evidence assemb ySecurity, StackCrawlMark stackMark) at System.Reflection.Assembly.LoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm) at System.Reflection.Assembly.LoadFrom(String assemblyFile, Evidence securityEvidence) at NAnt.DotNet.Tasks.LicenseGatherer.CreateLicenseFile(LicenseTask licenseTask, String licenseFile) in D \Work\NAnt\src\NAnt.DotNet\Tasks\LicenseTask.cs:line 251 at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(Met hodBase mb, Object[] args Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[] outArgs) at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessa ge msg, Int32 methodPtr, oolean fExecuteInContext) Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData msgData, Int32 type) at NAnt.DotNet.Tasks.LicenseGatherer.CreateLicenseFile(LicenseTask licenseTask, String licenseFile) in D \Work\NAnt\src\NAnt.DotNet\Tasks\LicenseTask.cs:line 210 at NAnt.DotNet.Tasks.LicenseTask.ExecuteTask() in D:\Work\NAnt\src\NAnt.DotNet\Tasks\LicenseTask.cs:line 191 at NAnt.Core.Task.Execute() in D:\Work\NAnt\src\NAnt.Core\Task.cs:line 151 at NAnt.VSNet.Resource.CompileLicx() in D:\Work\NAnt\src\NAnt.VSNet\Resource.cs:line 165 at NAnt.VSNet.Resource.Compile(ConfigurationSettings configurationSettings, Boolean showCommands) in D:\ ork\NAnt\src\NAnt.VSNet\Resource.cs:line 73 at NAnt.VSNet.Project.Compile(String configuration, ArrayList alCSCArguments, String strLogFile, Boolean bVerbose, Boolean bShowCommands) in D:\Work\NAnt\src\NAnt.VSNet\Project.cs:line 355 at NAnt.VSNet.Solution.Compile(String configuration, ArrayList compilerArguments, String logFile, Boolea verbose, Boolean showCommands) in D:\Work\NAnt\src\NAnt.VSNet\Solution.cs:line 279 at NAnt.VSNet.Tasks.SolutionTask.ExecuteTask() in D:\Work\NAnt\src\NAnt.VSNet\Tasks\SolutionTask.cs:line 335 at NAnt.Core.Task.Execute() in D:\Work\NAnt\src\NAnt.Core\Task.cs:line 151 at NAnt.Core.Target.Execute() in D:\Work\NAnt\src\NAnt.Core\Target.cs:line 217 at NAnt.Core.Project.Execute(String targetName, Boolean forceDependencies) in D:\Work\NAnt\src\NAnt.Core Project.cs:line 772 at NAnt.Core.Project.Execute() in D:\Work\NAnt\src\NAnt.Core\Project.cs:line 734 at NAnt.Core.Project.Run() in D:\Work\NAnt\src\NAnt.Core\Project.cs:line 797 Regards Jia Bin - BGC-PET: http://bgc-pet.fea.slb.com/Gallery/ Tel: +86 10 6279 9009 (ext.6239) Fax: +86 10 6279 3733 --- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] solution task
1.) If you have the time, go for it! 2.) Improvements are great. 3.) Adding support for this is a good idea. At the solution and project level seems like a nice one to have too. - Original Message - From: Martin Aliger Hi all ! 1/ Do you think, that now is good time to some cleaning and restructuring in solution task as we discussed earlier? I have some spare time and appetite to do that now! 2/ Also I would need (and like to) make some improvements to that task. What I need (and currently use not-commited patch) is need to custom arguments override like there: solution configuration=Release outputdir=${output.dir} includevsfolders=false showcommands=true projects includes name=${build.dir}/**/*.csproj/ /projects assemblyfolders includes name=${output.dir}/ includes name=${nunit.dir}/ includes name=${references.dir}/ /assemblyfolders compilerargs arg value=/codepage:1250/ /compilerargs /solution We previously discuss that as it will be nice to do that at solution level or at project level. Do you still like the idea? I could implement that if you agree with that... Regards, Martin --- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278alloc_id=3371op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] solution task
Hi all ! 1/ Do you think, that now is good time to some cleaning and restructuring in solution task as we discussed earlier? I have some spare time and appetite to do that now! 2/ Also I would need (and like to) make some improvements to that task. What I need (and currently use not-commited patch) is need to custom arguments override like there: solution configuration="Release" outputdir="${output.dir}" includevsfolders="false" showcommands="true"projectsincludes name="${build.dir}/**/*.csproj"//projectsassemblyfoldersincludes name="${output.dir}"/includes name="${nunit.dir}"/includes name="${references.dir}"//assemblyfolderscompilerargsarg value="/codepage:1250"//compilerargs/solution We previously discuss that as it will be nice to do thatat solution level or at project level. Do you still like the idea? I could implement that if you agree with that... Regards, Martin
[nant-dev] solution task and linked VS.Net files.
Nant developers, I am getting this error when I compile a VS.Net 2003 solution with an ProductInfo file that has been linked from a parent directory. e.g. File RelPath = ProductInfo.cs Link = ..\ProductInfo.cs SubType = Code BuildAction = Compile / System.IO.IOException: Could not find a part of the path U:\dev\MyProject\ProductInfo.cs. at System.IO.File.GetLastWriteTime(String path) at NAnt.VSNet.Tasks.Project.CheckUpToDate(ConfigurationSettings cs) at NAnt.VSNet.Tasks.Project.Compile(String strConfiguration, ArrayList alCSCArguments, String strLogFile, Boolean bVerbose, Boolean bShowCommands) at NAnt.VSNet.Tasks.Solution.Compile(String strConfiguration, ArrayList alCSCArguments, String strLogFile, Boolean bVerbose, Boolean bShowCommands) at NAnt.VSNet.Tasks.SolutionTask.ExecuteTask() at NAnt.Core.Task.Execute() at NAnt.Core.Target.Execute() at NAnt.Core.Project.Execute(String targetName) at NAnt.Core.Project.Execute() at NAnt.Core.Project.Run() Does the solution task not know how to resolve linked files? Kirk A. Viehland --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] solution task and linked VS.Net files.
Kirk, This should be fixed in cvs, and in the nightly builds. Are you using NAnt 0.8.3 ? Can you try a recent nighlty build (http://nant.sourceforge.net/nightly/builds) and get back to us ? Thanks, Gert - Original Message - From: Viehland, Kirk [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, November 17, 2003 10:19 PM Subject: [nant-dev] solution task and linked VS.Net files. Nant developers, I am getting this error when I compile a VS.Net 2003 solution with an ProductInfo file that has been linked from a parent directory. e.g. File RelPath = ProductInfo.cs Link = ..\ProductInfo.cs SubType = Code BuildAction = Compile / System.IO.IOException: Could not find a part of the path U:\dev\MyProject\ProductInfo.cs. at System.IO.File.GetLastWriteTime(String path) at NAnt.VSNet.Tasks.Project.CheckUpToDate(ConfigurationSettings cs) at NAnt.VSNet.Tasks.Project.Compile(String strConfiguration, ArrayList alCSCArguments, String strLogFile, Boolean bVerbose, Boolean bShowCommands) at NAnt.VSNet.Tasks.Solution.Compile(String strConfiguration, ArrayList alCSCArguments, String strLogFile, Boolean bVerbose, Boolean bShowCommands) at NAnt.VSNet.Tasks.SolutionTask.ExecuteTask() at NAnt.Core.Task.Execute() at NAnt.Core.Target.Execute() at NAnt.Core.Project.Execute(String targetName) at NAnt.Core.Project.Execute() at NAnt.Core.Project.Run() Does the solution task not know how to resolve linked files? Kirk A. Viehland --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
RE: [nant-dev] solution task bug in nested build
Ok tested with the latest nightly builds, it works. Thanks!! -Original Message- From: Gert Driesen [mailto:[EMAIL PROTECTED] Sent: Tuesday, 4 November 2003 5:29 PM To: Eddie Tse; [EMAIL PROTECTED] Subject: Re: [nant-dev] solution task bug in nested build What version of NAnt are you using ? This should actually already be fixed in the 0.8.4 nightly builds, but not by that patch you supplied ... Earlier versions of the solution task did not resolve the solution filename to a full path in SolutionTask.cs, this was fixed since ... Can you try one of the recent nightly builds (http://nant.sourceforge.net/nightly/builds) ? Thanks, Gert - Original Message - From: Eddie Tse [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, November 03, 2003 11:08 PM Subject: [nant-dev] solution task bug in nested build Hi All, I have a large multi-solution project and the solution task does not build properly if it is called within a nested nant task because the full path to the solution file is not used. Patch attached. Cheers, Eddie Index: src/NAnt.VSNet/Solution.cs === RCS file: /cvsroot/nant/nant/src/NAnt.VSNet/Solution.cs,v retrieving revision 1.19 diff -u -r1.19 Solution.cs --- src/NAnt.VSNet/Solution.cs 3 Nov 2003 09:46:04 - 1.19 +++ src/NAnt.VSNet/Solution.cs 3 Nov 2003 22:03:50 - @@ -51,13 +51,13 @@ string fileContents; -using (StreamReader sr = new StreamReader(solutionFileName)) { +using (StreamReader sr = new StreamReader(_solutionTask.SolutionFile)) { fileContents = sr.ReadToEnd(); } Regex re = new Regex(@Project\(\(?package\{.*?\})\.*?\(?name.*?)\.*?\(?proj ect.*?)\.*?\(?guid.*?)\); MatchCollection mc = re.Matches(fileContents); -FileInfo fiSolution = new FileInfo(solutionFileName); +FileInfo fiSolution = new FileInfo(_solutionTask.SolutionFile); foreach (Match m in mc) { string project = m.Groups[project].Value; --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] solution task bug in nested build
What version of NAnt are you using ? This should actually already be fixed in the 0.8.4 nightly builds, but not by that patch you supplied ... Earlier versions of the solution task did not resolve the solution filename to a full path in SolutionTask.cs, this was fixed since ... Can you try one of the recent nightly builds (http://nant.sourceforge.net/nightly/builds) ? Thanks, Gert - Original Message - From: Eddie Tse [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, November 03, 2003 11:08 PM Subject: [nant-dev] solution task bug in nested build Hi All, I have a large multi-solution project and the solution task does not build properly if it is called within a nested nant task because the full path to the solution file is not used. Patch attached. Cheers, Eddie Index: src/NAnt.VSNet/Solution.cs === RCS file: /cvsroot/nant/nant/src/NAnt.VSNet/Solution.cs,v retrieving revision 1.19 diff -u -r1.19 Solution.cs --- src/NAnt.VSNet/Solution.cs 3 Nov 2003 09:46:04 - 1.19 +++ src/NAnt.VSNet/Solution.cs 3 Nov 2003 22:03:50 - @@ -51,13 +51,13 @@ string fileContents; -using (StreamReader sr = new StreamReader(solutionFileName)) { +using (StreamReader sr = new StreamReader(_solutionTask.SolutionFile)) { fileContents = sr.ReadToEnd(); } Regex re = new Regex(@Project\(\(?package\{.*?\})\.*?\(?name.*?)\.*?\(?proj ect.*?)\.*?\(?guid.*?)\); MatchCollection mc = re.Matches(fileContents); -FileInfo fiSolution = new FileInfo(solutionFileName); +FileInfo fiSolution = new FileInfo(_solutionTask.SolutionFile); foreach (Match m in mc) { string project = m.Groups[project].Value; --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] solution task bug in nested build
Hi All, I have a large multi-solution project and the solution task does not build properly if it is called within a nested nant task because the full path to the solution file is not used. Patch attached. Cheers, Eddie Index: src/NAnt.VSNet/Solution.cs === RCS file: /cvsroot/nant/nant/src/NAnt.VSNet/Solution.cs,v retrieving revision 1.19 diff -u -r1.19 Solution.cs --- src/NAnt.VSNet/Solution.cs 3 Nov 2003 09:46:04 - 1.19 +++ src/NAnt.VSNet/Solution.cs 3 Nov 2003 22:03:50 - @@ -51,13 +51,13 @@ string fileContents; -using (StreamReader sr = new StreamReader(solutionFileName)) { +using (StreamReader sr = new StreamReader(_solutionTask.SolutionFile)) { fileContents = sr.ReadToEnd(); } Regex re = new Regex(@Project\(\(?package\{.*?\})\.*?\(?name.*?)\.*?\(?proj ect.*?)\.*?\(?guid.*?)\); MatchCollection mc = re.Matches(fileContents); -FileInfo fiSolution = new FileInfo(solutionFileName); +FileInfo fiSolution = new FileInfo(_solutionTask.SolutionFile); foreach (Match m in mc) { string project = m.Groups[project].Value; --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] solution task speedups
I pointed nprof at NAnt to see if I could get the solution task to build a little quicker for those of us with extra-large solutions. The code in Reference.cs was re-loading projects over and over if project references were being used. This re-loading of projects consumed over 99% of the solution build setup time! I've added some caching code in ProjectFactory to improve the solution task's build time. BTW- big thanks to whoever implemented the ProjectFactory.cs class - this really helps with the caching. Just a note In our ~70 project solution, our build time went from 800 seconds to approx. 240 seconds on a fairly poor build server. :) Matt. --- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Solution task, support for .csdproj
Hi, is there anyone currently working on adding support for .csdproj (PocketPc application) project in the Solution task ? Regards, Thibaut Barrère --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.525 / Virus Database: 322 - Release Date: 09/10/2003 --- This SF.net email is sponsored by: The SF.net Donation Program. Do you like what SourceForge.net is doing for the Open Source Community? Make a contribution, and help us add new features and functionality. Click here: http://sourceforge.net/donate/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Solution Task changes for C++ project support
Hi Scott, I just finished rewriting part of the C++ support starting from the changes you made ... However, too be honest I know almost nothing about C+, and I also wasn't always sure when to read config setting from baseConfig and when from fileConfig (in VcProject.BuildCPPFiles) ... I commented out a large part in Reference.cs, can you have a look if this is really necessary ? Did you ever see this in a project file ? Can you have a look if things still work for you ? I'll post a new nightly build in a few minutes ... Gert - Original Message - From: Scott Ford [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, October 15, 2003 10:28 PM Subject: [nant-dev] Solution Task changes for C++ project support Hello, I grabbed the nightly build from 10.13.2003 and hacked away at the code until my solution with 13 C# projects and one C++ project compiled. This is the version that I plan on using here until the C++ project support stabilizes. I seriously doubt that these changes will work for everyone, but I think that I have fixed a few problems with what is currently in the source tree. I do acknowledge that a lot of what I have done is a pure hack. I was not all that happy with what I produced in many cases, but I am under pressure here to hurry up and get this done. Since I was working from a nightly build and not the cvs source I have attached the files that I changed instead of a patch. The files that I changed are in NAnt.VisualCpp/Tasks/ - clTask.cs in NAnt.VSNet/ - Reference.cs - Solution.cs - VcConfiguration.cs - VcProject.cs Hopefully the anonymous cvs server will be up to date soon so that I can just work off of that. ;) I have tried to adhere to the NAnt Coding Standards and I apologize in advance for anything that I missed. Enjoy, -Scott P.S. This is the first open source project that I have submitted code to, and it feels great to finally do so! --- This SF.net email is sponsored by: SF.net Giveback Program. SourceForge.net hosts over 70,000 Open Source Projects. See the people who have HELPED US provide better services: Click here: http://sourceforge.net/supporters.php ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
RE: [nant-dev] Solution Task changes for C++ project support
Gert, I won't be back in the office until Monday, so I have not had a chance to try my project with the latest nightly build, but I did take a look at the section of code that you mentioned in Reference.cs. What that section does is allow for handling of .NET references in a VS.NET 2003 .vcproj file. This was something that VS did not allow until the 2003 version. So, yes, the section is necessary in order for project references to work, but I am not sure if it is complete. I basically just copied the code in that section from the section right above it, and changed about 2 lines. There should be a nice way to refactor the two sections since it looks like the previous section handles project references in C# and Vb projects. BTW, I am sorry about sending the same message twice. The first one that I sent got bounced back because it was too big, and I just assumed that it would not go through. -Scott -Original Message- From: Gert Driesen [mailto:[EMAIL PROTECTED] Sent: Thu 10/16/2003 3:42 AM To: Scott Ford; [EMAIL PROTECTED] Cc: Subject: Re: [nant-dev] Solution Task changes for C++ project support Hi Scott, I just finished rewriting part of the C++ support starting from the changes you made ... However, too be honest I know almost nothing about C+, and I also wasn't always sure when to read config setting from baseConfig and when from fileConfig (in VcProject.BuildCPPFiles) ... I commented out a large part in Reference.cs, can you have a look if this is really necessary ? Did you ever see this in a project file ? Can you have a look if things still work for you ? I'll post a new nightly build in a few minutes ... Gert - Original Message - From: Scott Ford [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, October 15, 2003 10:28 PM Subject: [nant-dev] Solution Task changes for C++ project support Hello, I grabbed the nightly build from 10.13.2003 and hacked away at the code until my solution with 13 C# projects and one C++ project compiled. This is the version that I plan on using here until the C++ project support stabilizes. I seriously doubt that these changes will work for everyone, but I think that I have fixed a few problems with what is currently in the source tree. I do acknowledge that a lot of what I have done is a pure hack. I was not all that happy with what I produced in many cases, but I am under pressure here to hurry up and get this done. Since I was working from a nightly build and not the cvs source I have attached the files that I changed instead of a patch. The files that I changed are in NAnt.VisualCpp/Tasks/ - clTask.cs in NAnt.VSNet/ - Reference.cs - Solution.cs - VcConfiguration.cs - VcProject.cs Hopefully the anonymous cvs server will be up to date soon so that I can just work off of that. ;) I have tried to adhere to the NAnt Coding Standards and I apologize in advance for anything that I missed. Enjoy, -Scott P.S. This is the first open source project that I have submitted code to, and it feels great to finally do so! áë^¨¥Ë)¢{(ç[É!gz½æÚrCë¢ *.¢¸ëa¢Ël¢÷«ïM4Ðê^*.®ÞrÛyëaz¨¦W°Z½áÄ,ñQ*k¢øy·µêìz»âqë'$ êÛiÿû(º·~àzwþ¦íz»)×^½éh¥ê¥x%Ëgj{]z«²X¬¶Ë(º·~àzwÛi³ÿåËl²«qç讧zßåËlþX¬¶)ù×^½éh¥êì
Re: [nant-dev] solution task
Sure. I think the same. Let me know if you want to help with some part of it. projectoverrides addin will wait for some time... ;-) It will be nice though, if we seperate project types (c#,vb,cpp,j#,deploy,sql,...) to its own classes as someone already pointed before. Project options differ for each project type so project options should be refactored as well. After that adding some new features (as projectoverrides) should be alot easier. Martin I think we should first work on refactoring the solution task (actually most classes in the VS.NET namespace), fixing known issues (first of all fixing, replacing or removing the current WebDavClient as its not working all too well), adding localization support, adding framework awareness, Gert - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: !nant [EMAIL PROTECTED] Sent: Tuesday, October 07, 2003 10:50 AM Subject: [nant-dev] solution task Hi all, finally, I should have some spare time to nant project again. Do you still think, code refactoring for solution task (described below) is good idea? I want to ensure that if I do it, it will be accepted (alot of work) Martin - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: Jaroslaw Kowalski [EMAIL PROTECTED]; Matthew Mastracci [EMAIL PROTECTED] Cc: Gert Driesen [EMAIL PROTECTED]; !nant [EMAIL PROTECTED] Sent: Monday, September 15, 2003 10:45 AM Subject: Re: [nant-dev] solution task addin Hi, OK. I withdraw my negative vote, now I can see the need for such tweaks. ;-) But I think Martin's idea could be extended to all-singing-and-dancing syntax like: [snip] solution configuration=Release outputdir=${output.dir} includevsfolders=false projects includes name=${build.dir}/**/*.csproj/ /projects [snip] projectoverrides project name=**/*.csproj parameter name=OutputPath value=some_path / /allprojects project name=B.csproj parameter name=CompilerCodePage value=1250 / /project [snip] This way you'd be able to override absolutely all parameters from *.??proj files both for debug and release builds with quite readable syntax. What do you think? I like it. I was thinking about something similar as well but it seems too complicated. There are number of attributes which overrides something (like outputdir) globally already. This also could be better in managing non-c# projects (like c++ with its 1000 options). And /nowarn will be superior on project level. If there are no complaints I'll do it when I spare some time to it. For now I'm happy with mine patch :-) [no need to commit it though] Martin --- 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 --- 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
[nant-dev] solution task problem
Hi all, I am attempting to use a solution task to build as follows: solution solutionfile=eSM/eSM.sln configuration=${c#.build.configuration}/ Doing so yields the following output: INTERNAL ERROR System.Xml.XmlException: The data at the root level is invalid. Line 1, position 1. at System.Xml.XmlTextReader.ParseRoot() at System.Xml.XmlTextReader.Read() at System.Xml.XmlValidatingReader.ReadWithCollectTextToken() at System.Xml.XmlValidatingReader.Read() at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace) at System.Xml.XmlDocument.Load(XmlReader reader) at System.Xml.XmlDocument.Load(String filename) at NAnt.VSNet.Tasks.Project.LoadXmlDocument(String strFilename) at NAnt.VSNet.Tasks.Project.IsEnterpriseTemplateProject(String strFilename) at NAnt.VSNet.Tasks.Solution..ctor(String strSolutionFilename, ArrayList alAdditionalProjects, ArrayList alReferenceProjects, TempFileCollection tfc, Task nanttask) at NAnt.VSNet.Tasks.SolutionTask.ExecuteTask() at NAnt.Core.Task.Execute() at NAnt.Core.Target.Execute() at NAnt.Core.Target.Execute() at NAnt.Core.Target.Execute() at NAnt.Core.Project.Execute(String targetName) at NAnt.Core.Project.Execute() at NAnt.Core.Project.Run() Please send bug report to [EMAIL PROTECTED] Anyone know what's going on here? I have tried simplifying the task and explicitly stating projects: solution configuration=debug solutionfile=eSM/eSM.sln verbose=true projects includes name=eSM/KernelDLL/KernelDLL.csproj/ includes name=eSM/KernelEXE/KernelEXE.csproj/ includes name=eSM/Peripheral/Peripheral.csproj/ /projects /solution This gives the same error though. Thanks, Kent --- 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] solution task
I think we should first work on refactoring the solution task (actually most classes in the VS.NET namespace), fixing known issues (first of all fixing, replacing or removing the current WebDavClient as its not working all too well), adding localization support, adding framework awareness, Gert - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: !nant [EMAIL PROTECTED] Sent: Tuesday, October 07, 2003 10:50 AM Subject: [nant-dev] solution task Hi all, finally, I should have some spare time to nant project again. Do you still think, code refactoring for solution task (described below) is good idea? I want to ensure that if I do it, it will be accepted (alot of work) Martin - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: Jaroslaw Kowalski [EMAIL PROTECTED]; Matthew Mastracci [EMAIL PROTECTED] Cc: Gert Driesen [EMAIL PROTECTED]; !nant [EMAIL PROTECTED] Sent: Monday, September 15, 2003 10:45 AM Subject: Re: [nant-dev] solution task addin Hi, OK. I withdraw my negative vote, now I can see the need for such tweaks. ;-) But I think Martin's idea could be extended to all-singing-and-dancing syntax like: [snip] solution configuration=Release outputdir=${output.dir} includevsfolders=false projects includes name=${build.dir}/**/*.csproj/ /projects [snip] projectoverrides project name=**/*.csproj parameter name=OutputPath value=some_path / /allprojects project name=B.csproj parameter name=CompilerCodePage value=1250 / /project [snip] This way you'd be able to override absolutely all parameters from *.??proj files both for debug and release builds with quite readable syntax. What do you think? I like it. I was thinking about something similar as well but it seems too complicated. There are number of attributes which overrides something (like outputdir) globally already. This also could be better in managing non-c# projects (like c++ with its 1000 options). And /nowarn will be superior on project level. If there are no complaints I'll do it when I spare some time to it. For now I'm happy with mine patch :-) [no need to commit it though] Martin --- 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 --- 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
[nant-dev] Solution Task - Unable to find appropriate configuration for proj ect reference
Hi, I'm trying out the solution task for the first time and am experiencing a couple of problems. I'm using Nant 0.8.3 final. The project structure comes out of CVS like this: Project\ Solution.sln Project1.csproj bin\ debug\ Tests\ Tests.csproj bin\ debug\ The result of the build should be: Project\bin\debug\project1.dll Project\Tests\bin\debug\project1.dll Project\Tests\bin\debug\Tests.dll Unfortunately when I try and build this solution I get an Internal Error: -- INTERNAL ERROR System.Exception: Unable to find appropriate configuration for project reference at NAnt.VSNet.Tasks.Solution.Compile(String strConfiguration, ArrayList alCSC Arguments, String strLogFile, Boolean bVerbose, Boolean bShowCommands) at NAnt.VSNet.Tasks.SolutionTask.ExecuteTask() at NAnt.Core.Task.Execute() at NAnt.Core.Target.Execute() at NAnt.Core.Project.Execute(String targetName) at NAnt.Core.Tasks.CallTask.ExecuteTask() at NAnt.Core.Task.Execute() at NAnt.Core.Target.Execute() at NAnt.Core.Project.Execute(String targetName) at NAnt.Core.Tasks.CallTask.ExecuteTask() at NAnt.Core.Task.Execute() at NAnt.Core.TaskContainer.ExecuteChildTasks() at NAnt.Core.Tasks.IfTask.ExecuteTask() at NAnt.Core.Task.Execute() at NAnt.Core.Target.Execute() at NAnt.Core.Project.Execute(String targetName) at NAnt.Core.Tasks.CallTask.ExecuteTask() at NAnt.Core.Task.Execute() at NAnt.Core.Target.Execute() at NAnt.Core.Project.Execute(String targetName) at NAnt.Core.Project.Execute() at NAnt.Core.Project.Run() Please send bug report to [EMAIL PROTECTED] -- I've tried excluding the Tests project and that doesn't seem to help. Anyone got any ideas? I don't have time to go code digging right now... thanks, Simon -- Simon Steele Research Engineer - Softel Ltd. tel: +44 118 984 2151 / web: http://www.softel.co.uk/ This e-mail has been scanned for viruses by MessageLabs.application/ms-tnef
[nant-dev] solution task fix
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). áËë^¨¥Ë)¢{(ç[É8bAzEÊzÚ yé!y«m§ÿí)äç¤r¿±ù×^½éh¥ê¥x%Ëgj{]z«²X¬¶Ë(º·~àzwÛi³ÿåËl²«qç讧zßåËlþX¬¶)ù×^½éh¥êì
Re: [nant-dev] solution task fix
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?mX???(??~??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
RE: [nant-dev] solution task fix
VS.NET uses the full name of the class (namespace.classnam) for the behind the scenes .resx files (those resource files automatically created to hold WinForm resources, etc. If you create a .resx explicitly and add it to your project (for example, to hold string resources for internationalization purposes), VS.NET will use the filename prefixed with a namespace. The namespace will be a combination of your project's default namespace and the filepath to the .resx file. So, if you have a file called strings.resx in subdirectory 'Other' of a project with namespace 'Stuff', the resource will be embedded as Stuff.Other.strings.resource. So, parsing an associated .cs file is only sometimes appropriate (for the cases where the .resx file was automatically created behind the scenes). -Original Message- From: Matthew Mastracci [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 17, 2003 9:50 AM To: Vincent Labatut Cc: [EMAIL PROTECTED] Subject: Re: [nant-dev] solution task fix 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?mX???(??~??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 +,~wzf¢+,¦o$áyyézW(ëhæ¯zxm¶ÿ¶§ÊþÇçj{]z«²f¢)à+-©íuë^®Éb²Û,¢êÜyú+ém¦Ïÿ+-²Ê.¢¸ë+-³ùb²~çj{]z«
RE : [nant-dev] solution task fix
thanks, got it now ! So this is what visual studio acutally does... I found a thread where a guy was stuck because of visual studio grasping the wrong class name for his resource !! ;) (he had defined multiple classes within the same file, visual studio takes the first) http://www.dotnet247.com/247reference/msgs/10/52512.aspx I think we should still strengthen the regexp because it caught something in one of my source files which was not a classname, resulting in an invalid file name and an exception in path.combine. The following line in my source file causes a bug (c#) : string l_str_temp = div class=\QuotasGauge\ style=\WIDTH: + WIDTH_GAUGE.ToString() + px;\; I'll give it a look and try to come back with a better regexp... Matthew: I finally ended up in changing my email client and address ! sorry for the inconvenienceS -Original Message- From: Erv Walter [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 17, 2003 5:00 AM To: Matthew Mastracci; Vincent Labatut Cc: [EMAIL PROTECTED] Subject: Re: [nant-dev] solution task fix VS.NET uses the full name of the class (namespace.classnam) for the behind the scenes .resx files (those resource files automatically created to hold WinForm resources, etc. If you create a .resx explicitly and add it to your project (for example, to hold string resources for internationalization purposes), VS.NET will use the filename prefixed with a namespace. The namespace will be a combination of your project's default namespace and the filepath to the .resx file. So, if you have a file called strings.resx in subdirectory 'Other' of a project with namespace 'Stuff', the resource will be embedded as Stuff.Other.strings.resource. So, parsing an associated .cs file is only sometimes appropriate (for the cases where the .resx file was automatically created behind the scenes). -Original Message- From: Matthew Mastracci [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 17, 2003 9:50 AM To: Vincent Labatut Cc: [EMAIL PROTECTED] Subject: Re: [nant-dev] solution task fix 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). --- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven
Re: RE : [nant-dev] solution task fix
Heh... I can see why it caught that as the wrong class. You might be able to reorder stuff to get around this problem. The *correct* solution for us would be to use a real C# parser. Perhaps the Mono C# parser would work, if the license is compatible. The regex one is good enough 99% of this time, but can't detect and ignore stuff like strings/etc. You *might* be able to use the new nesting regex constructs to ignore strings, but those hurt my brain. Handling the @strings would also be an extra nightmare: (?/name /) Captures the matched substring into a group name or number name. The string used for /name/ must not contain any punctuation and it cannot begin with a number. You can use single quotes instead of angle brackets; for example, |(?'name')|. (?/name1-name2/ ) Balancing group definition. Deletes the definition of the previously defined group /name2/ and stores in group /name1 /the interval between the previously defined /name2/ group and the current group. If no group /name2/ is defined, the match backtracks. Because deleting the last definition of /name2/ reveals the previous definition of /name2,/ this construct allows the stack of captures for group /name2 /to be used as a counter for keeping track of nested constructs such as parentheses. In this construct /name1 /is optional. You can use single quotes instead of angle brackets; for example, |(?'name1-name2')|. Thanks for the text/plain email! Much easier to read. ;) Matt. Vincent Labatut wrote: thanks, got it now ! So this is what visual studio acutally does... I found a thread where a guy was stuck because of visual studio grasping the wrong class name for his resource !! ;) (he had defined multiple classes within the same file, visual studio takes the first) http://www.dotnet247.com/247reference/msgs/10/52512.aspx I think we should still strengthen the regexp because it caught something in one of my source files which was not a classname, resulting in an invalid file name and an exception in path.combine. The following line in my source file causes a bug (c#) : string l_str_temp = div class=\QuotasGauge\ style=\WIDTH: + WIDTH_GAUGE.ToString() + px;\; I'll give it a look and try to come back with a better regexp... Matthew: I finally ended up in changing my email client and address ! sorry for the inconvenienceS -Original Message- From: Erv Walter [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 17, 2003 5:00 AM To: Matthew Mastracci; Vincent Labatut Cc: [EMAIL PROTECTED] Subject: Re: [nant-dev] solution task fix VS.NET uses the full name of the class (namespace.classnam) for the behind the scenes .resx files (those resource files automatically created to hold WinForm resources, etc. If you create a .resx explicitly and add it to your project (for example, to hold string resources for internationalization purposes), VS.NET will use the filename prefixed with a namespace. The namespace will be a combination of your project's default namespace and the filepath to the .resx file. So, if you have a file called strings.resx in subdirectory 'Other' of a project with namespace 'Stuff', the resource will be embedded as Stuff.Other.strings.resource. So, parsing an associated .cs file is only sometimes appropriate (for the cases where the .resx file was automatically created behind the scenes). -Original Message- From: Matthew Mastracci [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 17, 2003 9:50 AM To: Vincent Labatut Cc: [EMAIL PROTECTED] Subject: Re: [nant-dev] solution task fix 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
[nant-dev] Solution Task problem
Ooooppps, should have sent to NAnt Dev: My developers just started incorporating NDoc into their projects. My first build has resulted in some errors in the compile. It looks like NAnt is looking for the *.xml file that should result before the compile is done and erroring out because it's not there. Any help would be very appreciated. Here's my error (note that I killed a ton of comment warnings to shrink my message). Build.Release: [solution] Starting solution build. [solution] Building ProCard.Centre.DataWrappers.Library [release]... [copy] Copying 1 file to D:\projects\ProCard\Centre\DataWrappers\Library\bin\. [solution] - D:\projects\ProCard\Centre\DataWrappers\Library\Unit.resx Read in 0 resources from 'D:\projects\ProCard\Centre\DataWrappers\Library\Unit.resx' Writing resource file... Done. [solution] - D:\projects\ProCard\Centre\DataWrappers\Library\Access2.resx Read in 0 resources from 'D:\projects\ProCard\Centre\DataWrappers\Library\Access2.resx' Writing resource file... Done. [compile] SiteSettings.cs(35,10): warning CS1591: Missing XML comment for publicly visible type or member 'ProCard.Centre.DataWrappers.Library.SelfRegSettings.SelfRegSettings()' [compile] Account.cs(950,17): warning CS1591: Missing XML comment for publicly visible type or member 'ProCard.Centre.DataWrappers.Library.Contact.AddressCode' [compile] Account.cs(956,17): warning CS1591: Missing XML comment for publicly visible type or member 'ProCard.Centre.DataWrappers.Library.Contact.AddressDescription' [compile] Account.cs(968,15): warning CS1591: Missing XML comment for publicly visible type or member 'ProCard.Centre.DataWrappers.Library.AccountKeys' [compile] Account.cs(977,10): warning CS1591: Missing XML comment for publicly visible type or member 'ProCard.Centre.DataWrappers.Library.AccountKeys.AccountKeys()' [compile] Account.cs(984,10): warning CS1591: Missing XML comment for publicly visible type or member 'ProCard.Centre.DataWrappers.Library.AccountKeys.AccountKeys(int, int, int)' [compile] Account.cs(993,14): warning CS1591: Missing XML comment for publicly visible type or member 'ProCard.Centre.DataWrappers.Library.AccountKeys.AccountPk' [compile] Account.cs(998,14): warning CS1591: Missing XML comment for publicly visible type or member 'ProCard.Centre.DataWrappers.Library.AccountKeys.UserFk' [compile] Account.cs(1004,14): warning CS1591: Missing XML comment for publicly visible type or member 'ProCard.Centre.DataWrappers.Library.AccountKeys.UnitFk' Total time: 1 seconds. BUILD FAILED INTERNAL ERROR System.IO.FileNotFoundException: Could not find file "D:\projects\ProCard\Centre\DataWrappers\Library\bin\ProCard.Centre.DataWrappers.Library.xml".File name: "D:\projects\ProCard\Centre\DataWrappers\Library\bin\ProCard.Centre.DataWrappers.Library.xml" at System.IO.__Error.WinIOError(Int32 errorCode, String str) at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite) at NAnt.VSNet.Tasks.Project.Compile(String strConfiguration, ArrayList alCSCArguments, String strLogFile, Boolean bVerbose, Boolean bShowCommands) at NAnt.VSNet.Tasks.Solution.Compile(String strConfiguration, ArrayList alCSCArguments, String strLogFile, Boolean bVerbose, Boolean bShowCommands) at NAnt.VSNet.Tasks.SolutionTask.ExecuteTask() at NAnt.Core.Task.Execute() at NAnt.Core.Target.Execute() at NAnt.Core.Target.Execute() at NAnt.Core.Project.Execute(String targetName) at NAnt.Core.Project.Execute() at NAnt.Core.Project.Run() Please send bug report to [EMAIL PROTECTED]. Total time: 175 seconds. BUILD FAILED Nested build failed. Refer to build log for exact reason. Thanks, Eric Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software
Re: [nant-dev] Solution Task problem
Double Opps, Jean answered me. I'll bounce back as to whether it worked or not (warning level change). Thanks Jean!Eric Fetzer [EMAIL PROTECTED] wrote: Ooooppps, should have sent to NAnt Dev: My developers just started incorporating NDoc into their projects. My first build has resulted in some errors in the compile. It looks like NAnt is looking for the *.xml file that should result before the compile is done and erroring out because it's not there. Any help would be very appreciated. Here's my error (note that I killed a ton of comment warnings to shrink my message). Build.Release: [solution] Starting solution build. [solution] Building ProCard.Centre.DataWrappers.Library [release]... [copy] Copying 1 file to D:\projects\ProCard\Centre\DataWrappers\Library\bin\. [solution] - D:\projects\ProCard\Centre\DataWrappers\Library\Unit.resx Read in 0 resources from 'D:\projects\ProCard\Centre\DataWrappers\Library\Unit.resx' Writing resource file... Done. [solution] - D:\projects\ProCard\Centre\DataWrappers\Library\Access2.resx Read in 0 resources from 'D:\projects\ProCard\Centre\DataWrappers\Library\Access2.resx' Writing resource file... Done. [compile] SiteSettings.cs(35,10): warning CS1591: Missing XML comment for publicly visible type or member 'ProCard.Centre.DataWrappers.Library.SelfRegSettings.SelfRegSettings()' [compile] Account.cs(950,17): warning CS1591: Missing XML comment for publicly visible type or member 'ProCard.Centre.DataWrappers.Library.Contact.AddressCode' [compile] Account.cs(956,17): warning CS1591: Missing XML comment for publicly visible type or member 'ProCard.Centre.DataWrappers.Library.Contact.AddressDescription' [compile] Account.cs(968,15): warning CS1591: Missing XML comment for publicly visible type or member 'ProCard.Centre.DataWrappers.Library.AccountKeys' [compile] Account.cs(977,10): warning CS1591: Missing XML comment for publicly visible type or member 'ProCard.Centre.DataWrappers.Library.AccountKeys.AccountKeys()' [compile] Account.cs(984,10): warning CS1591: Missing XML comment for publicly visible type or member 'ProCard.Centre.DataWrappers.Library.AccountKeys.AccountKeys(int, int, int)' [compile] Account.cs(993,14): warning CS1591: Missing XML comment for publicly visible type or member 'ProCard.Centre.DataWrappers.Library.AccountKeys.AccountPk' [compile] Account.cs(998,14): warning CS1591: Missing XML comment for publicly visible type or member 'ProCard.Centre.DataWrappers.Library.AccountKeys.UserFk' [compile] Account.cs(1004,14): warning CS1591: Missing XML comment for publicly visible type or member 'ProCard.Centre.DataWrappers.Library.AccountKeys.UnitFk' Total time: 1 seconds. BUILD FAILED INTERNAL ERROR System.IO.FileNotFoundException: Could not find file "D:\projects\ProCard\Centre\DataWrappers\Library\bin\ProCard.Centre.DataWrappers.Library.xml".File name: "D:\projects\ProCard\Centre\DataWrappers\Library\bin\ProCard.Centre.DataWrappers.Library.xml" at System.IO.__Error.WinIOError(Int32 errorCode, String str) at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite) at NAnt.VSNet.Tasks.Project.Compile(String strConfiguration, ArrayList alCSCArguments, String strLogFile, Boolean bVerbose, Boolean bShowCommands) at NAnt.VSNet.Tasks.Solution.Compile(String strConfiguration, ArrayList alCSCArguments, String strLogFile, Boolean bVerbose, Boolean bShowCommands) at NAnt.VSNet.Tasks.SolutionTask.ExecuteTask() at NAnt.Core.Task.Execute() at NAnt.Core.Target.Execute() at NAnt.Core.Target.Execute() at NAnt.Core.Project.Execute(String targetName) at NAnt.Core.Project.Execute() at NAnt.Core.Project.Run() Please send bug report to [EMAIL PROTECTED]. Total time: 175 seconds. BUILD FAILED Nested build failed. Refer to build log for exact reason. Thanks, Eric Do you Yahoo!?Yahoo! SiteBuilder - Free, easy-to-use web site design software Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software
Re: [nant-dev] solution task addin
Hi, OK. I withdraw my negative vote, now I can see the need for such tweaks. ;-) But I think Martin's idea could be extended to all-singing-and-dancing syntax like: [snip] solution configuration=Release outputdir=${output.dir} includevsfolders=false projects includes name=${build.dir}/**/*.csproj/ /projects [snip] projectoverrides project name=**/*.csproj parameter name=OutputPath value=some_path / /allprojects project name=B.csproj parameter name=CompilerCodePage value=1250 / /project [snip] This way you'd be able to override absolutely all parameters from *.??proj files both for debug and release builds with quite readable syntax. What do you think? I like it. I was thinking about something similar as well but it seems too complicated. There are number of attributes which overrides something (like outputdir) globally already. This also could be better in managing non-c# projects (like c++ with its 1000 options). And /nowarn will be superior on project level. If there are no complaints I'll do it when I spare some time to it. For now I'm happy with mine patch :-) [no need to commit it though] Martin --- 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
[nant-dev] solution task addin
Hi all, Again, I propose an addin into solution task. It enables use of extra parameters for csc task as in this case: solution configuration="Release" outputdir="${output.dir}" includevsfolders="false" projects includes name="${build.dir}/**/*.csproj"/ /projects assemblyfolders includes name="${output.dir}"/ includes name="${nunit.dir}"/ /assemblyfolders arg value="/codepage:1250"//solution adding extra /codepage:1250 to csc calls. This is needed, when .cs files are in another codepage than ascii, unicode or utf-8. This could be used for other switches as well! Hope you'll like it :) Martin solutiontask.patch Description: Binary data
Re: [nant-dev] solution task addin
use BuildElementCollection(compilerargument or compilerargs) instead of [BuildElementArray(arg)] Ok. I'll rework it. PS. can you also change your code format to use brackets on the same line, instead of on the next line ... sorry for that. I was trying hard, but we use different code convention here (similar to VS default) to I sometimes forget it... - Original Message - From: Gert Driesen To: Martin Aliger ; ! nant Sent: Friday, September 12, 2003 1:08 PM Subject: Re: [nant-dev] solution task addin Look very good, but I have some remarks : use BuildElementCollection(compilerargument or compilerargs) instead of [BuildElementArray(arg)] that will : - make it clear that those are argument that will be passed to the compiler - allow us to use a more structured build layout solution ... projects ... ... /project compilerarguments | compilerargs arg value=. / arg value= / /compilerarguments | /compilerargs /solution why not rename GetCSCArguments to GetCompilerArguments, as these arguments will also be useful for other compilers (VB.NET). Keep up the good work !!! Gert PS. can you also change your code format to use brackets on the same line, instead of on the next line ... - Original Message - From: Martin Aliger To: ! nant Sent: Friday, September 12, 2003 11:35 AM Subject: [nant-dev] solution task addin Hi all, Again, I propose an addin into solution task. It enables use of extra parameters for csc task as in this case: solution configuration=Release outputdir=${output.dir} includevsfolders=false projects includes name=${build.dir}/**/*.csproj/ /projects assemblyfolders includes name=${output.dir}/ includes name=${nunit.dir}/ /assemblyfolders arg value=/codepage:1250/ /solution adding extra /codepage:1250 to csc calls. This is needed, when .cs files are in another codepage than ascii, unicode or utf-8. This could be used for other switches as well! Hope you'll like it :) Martin --- 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] solution task addin
Here it is reworked. Looks much nicer now :) solution configuration=Release outputdir=${output.dir} includevsfolders=false projects includes name=${build.dir}/**/*.csproj/ /projects assemblyfolders includes name=${output.dir}/ includes name=${nunit.dir}/ /assemblyfolders compilerargs arg value=/codepage:1250/ /compilerargs /solution Martin - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED]; ! nant [EMAIL PROTECTED] Sent: Friday, September 12, 2003 1:08 PM Subject: Re: [nant-dev] solution task addin use BuildElementCollection(compilerargument or compilerargs) instead of [BuildElementArray(arg)] Ok. I'll rework it. PS. can you also change your code format to use brackets on the same line, instead of on the next line ... sorry for that. I was trying hard, but we use different code convention here (similar to VS default) to I sometimes forget it... - Original Message - From: Gert Driesen To: Martin Aliger ; ! nant Sent: Friday, September 12, 2003 1:08 PM Subject: Re: [nant-dev] solution task addin Look very good, but I have some remarks : use BuildElementCollection(compilerargument or compilerargs) instead of [BuildElementArray(arg)] that will : - make it clear that those are argument that will be passed to the compiler - allow us to use a more structured build layout solution ... projects ... ... /project compilerarguments | compilerargs arg value=. / arg value= / /compilerarguments | /compilerargs /solution why not rename GetCSCArguments to GetCompilerArguments, as these arguments will also be useful for other compilers (VB.NET). Keep up the good work !!! Gert PS. can you also change your code format to use brackets on the same line, instead of on the next line ... - Original Message - From: Martin Aliger To: ! nant Sent: Friday, September 12, 2003 11:35 AM Subject: [nant-dev] solution task addin Hi all, Again, I propose an addin into solution task. It enables use of extra parameters for csc task as in this case: solution configuration=Release outputdir=${output.dir} includevsfolders=false projects includes name=${build.dir}/**/*.csproj/ /projects assemblyfolders includes name=${output.dir}/ includes name=${nunit.dir}/ /assemblyfolders arg value=/codepage:1250/ /solution adding extra /codepage:1250 to csc calls. This is needed, when .cs files are in another codepage than ascii, unicode or utf-8. This could be used for other switches as well! Hope you'll like it :) Martin solutiontask.patch Description: Binary data
Re: [nant-dev] solution task addin
Look very good, but I have some remarks : use BuildElementCollection("compilerargument"or "compilerargs") instead of [BuildElementArray("arg")] that will : - make it clear that those are argument that will be passed to the compiler - allow us to use a more structured build layout solution ... projects ... ... /project compilerarguments | compilerargs arg value="." / arg value="" / /compilerarguments | /compilerargs /solution why not rename GetCSCArguments to GetCompilerArguments, as these arguments will also be useful for other compilers (VB.NET). Keep up the good work !!! Gert PS.can you also change your code format to use brackets on the same line, instead of on the next line ... - Original Message - From: Martin Aliger To: ! nant Sent: Friday, September 12, 2003 11:35 AM Subject: [nant-dev] solution task addin Hi all, Again, I propose an addin into solution task. It enables use of extra parameters for csc task as in this case: solution configuration="Release" outputdir="${output.dir}" includevsfolders="false" projects includes name="${build.dir}/**/*.csproj"/ /projects assemblyfolders includes name="${output.dir}"/ includes name="${nunit.dir}"/ /assemblyfolders arg value="/codepage:1250"//solution adding extra /codepage:1250 to csc calls. This is needed, when .cs files are in another codepage than ascii, unicode or utf-8. This could be used for other switches as well! Hope you'll like it :) Martin
Re: [nant-dev] solution task addin
I'll commit it later today. Thanks, Gert - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: ! nant [EMAIL PROTECTED] Sent: Friday, September 12, 2003 2:04 PM Subject: Re: [nant-dev] solution task addin Here it is reworked. Looks much nicer now :) solution configuration=Release outputdir=${output.dir} includevsfolders=false projects includes name=${build.dir}/**/*.csproj/ /projects assemblyfolders includes name=${output.dir}/ includes name=${nunit.dir}/ /assemblyfolders compilerargs arg value=/codepage:1250/ /compilerargs /solution Martin - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED]; ! nant [EMAIL PROTECTED] Sent: Friday, September 12, 2003 1:08 PM Subject: Re: [nant-dev] solution task addin use BuildElementCollection(compilerargument or compilerargs) instead of [BuildElementArray(arg)] Ok. I'll rework it. PS. can you also change your code format to use brackets on the same line, instead of on the next line ... sorry for that. I was trying hard, but we use different code convention here (similar to VS default) to I sometimes forget it... - Original Message - From: Gert Driesen To: Martin Aliger ; ! nant Sent: Friday, September 12, 2003 1:08 PM Subject: Re: [nant-dev] solution task addin Look very good, but I have some remarks : use BuildElementCollection(compilerargument or compilerargs) instead of [BuildElementArray(arg)] that will : - make it clear that those are argument that will be passed to the compiler - allow us to use a more structured build layout solution ... projects ... ... /project compilerarguments | compilerargs arg value=. / arg value= / /compilerarguments | /compilerargs /solution why not rename GetCSCArguments to GetCompilerArguments, as these arguments will also be useful for other compilers (VB.NET). Keep up the good work !!! Gert PS. can you also change your code format to use brackets on the same line, instead of on the next line ... - Original Message - From: Martin Aliger To: ! nant Sent: Friday, September 12, 2003 11:35 AM Subject: [nant-dev] solution task addin Hi all, Again, I propose an addin into solution task. It enables use of extra parameters for csc task as in this case: solution configuration=Release outputdir=${output.dir} includevsfolders=false projects includes name=${build.dir}/**/*.csproj/ /projects assemblyfolders includes name=${output.dir}/ includes name=${nunit.dir}/ /assemblyfolders arg value=/codepage:1250/ /solution adding extra /codepage:1250 to csc calls. This is needed, when .cs files are in another codepage than ascii, unicode or utf-8. This could be used for other switches as well! Hope you'll like it :) Martin --- 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] solution task addin
Quick note- should the compiler be specified for each of these args? Not all args are supported by all compilers. Specifying an argument that a compiler does not support may break your build. I'd wager that a good number of places used mixed-language builds. BTW, thanks for all of the patches Martin! Perhaps something like this (I'm not sure if using the language name (C#) or the compiler (csc) would be better): compilerargs compiler=C# arg value=/codepage:1250/ /compilerargs compilerargs compiler=VB arg value=/defaultnamespace:blah/ /compilerargs Or this: compilerargs arg compiler=C# value=/codepage:1250/ arg compiler=VB value=/defaultnamespace:blah/ /compilerargs Matt. Gert Driesen wrote: I'll commit it later today. Thanks, Gert - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: ! nant [EMAIL PROTECTED] Sent: Friday, September 12, 2003 2:04 PM Subject: Re: [nant-dev] solution task addin Here it is reworked. Looks much nicer now :) solution configuration=Release outputdir=${output.dir} includevsfolders=false projects includes name=${build.dir}/**/*.csproj/ /projects assemblyfolders includes name=${output.dir}/ includes name=${nunit.dir}/ /assemblyfolders compilerargs arg value=/codepage:1250/ /compilerargs /solution Martin - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED]; ! nant [EMAIL PROTECTED] Sent: Friday, September 12, 2003 1:08 PM Subject: Re: [nant-dev] solution task addin use BuildElementCollection(compilerargument or compilerargs) instead of [BuildElementArray(arg)] Ok. I'll rework it. PS. can you also change your code format to use brackets on the same line, instead of on the next line ... sorry for that. I was trying hard, but we use different code convention here (similar to VS default) to I sometimes forget it... - Original Message - From: Gert Driesen To: Martin Aliger ; ! nant Sent: Friday, September 12, 2003 1:08 PM Subject: Re: [nant-dev] solution task addin Look very good, but I have some remarks : use BuildElementCollection(compilerargument or compilerargs) instead of [BuildElementArray(arg)] that will : - make it clear that those are argument that will be passed to the compiler - allow us to use a more structured build layout solution ... projects ... ... /project compilerarguments | compilerargs arg value=. / arg value= / /compilerarguments | /compilerargs /solution why not rename GetCSCArguments to GetCompilerArguments, as these arguments will also be useful for other compilers (VB.NET). Keep up the good work !!! Gert PS. can you also change your code format to use brackets on the same line, instead of on the next line ... - Original Message - From: Martin Aliger To: ! nant Sent: Friday, September 12, 2003 11:35 AM Subject: [nant-dev] solution task addin Hi all, Again, I propose an addin into solution task. It enables use of extra parameters for csc task as in this case: solution configuration=Release outputdir=${output.dir} includevsfolders=false projects includes name=${build.dir}/**/*.csproj/ /projects assemblyfolders includes name=${output.dir}/ includes name=${nunit.dir}/ /assemblyfolders arg value=/codepage:1250/ /solution adding extra /codepage:1250 to csc calls. This is needed, when .cs files are in another codepage than ascii, unicode or utf-8. This could be used for other switches as well! Hope you'll like it :) Martin --- 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] solution task addin
Personally I think it's a bad idea to have extensions like this because they change semantics of solution task from something very simple (do it like VS.NET does) to something quite difficult to follow. I've made a quick scan through all csc.exe options that cannot be set in VS.NET by searching through MSDN for This compiler option is unavailable in Visual Studio.. And I see only four options that might be useful to add this way: /utf8output /noconfig /codepage /fullpaths any other options (there are 14 which aren't settable through VS.NET) don't make sense since they would change the semantics of the build or aren't usable with NAnt. I vote against the patch. Martin, if you have problems with the codepage - use UTF-8 for source files or change your system locale. The best way would be to move all language-specific elements to a separate resource XML file (*.resx) because XML files preserve encoding informations. To save your file as UTF-8: VS.NET = File = Advanced Save Options = Encoding = Unicode (UTF-8 with signature) Jarek - Original Message - From: Gert Driesen [EMAIL PROTECTED] To: Martin Aliger [EMAIL PROTECTED]; ! nant [EMAIL PROTECTED] Sent: Friday, September 12, 2003 2:19 PM Subject: Re: [nant-dev] solution task addin I'll commit it later today. Thanks, Gert - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: ! nant [EMAIL PROTECTED] Sent: Friday, September 12, 2003 2:04 PM Subject: Re: [nant-dev] solution task addin Here it is reworked. Looks much nicer now :) solution configuration=Release outputdir=${output.dir} includevsfolders=false projects includes name=${build.dir}/**/*.csproj/ /projects assemblyfolders includes name=${output.dir}/ includes name=${nunit.dir}/ /assemblyfolders compilerargs arg value=/codepage:1250/ /compilerargs /solution Martin - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED]; ! nant [EMAIL PROTECTED] Sent: Friday, September 12, 2003 1:08 PM Subject: Re: [nant-dev] solution task addin use BuildElementCollection(compilerargument or compilerargs) instead of [BuildElementArray(arg)] Ok. I'll rework it. PS. can you also change your code format to use brackets on the same line, instead of on the next line ... sorry for that. I was trying hard, but we use different code convention here (similar to VS default) to I sometimes forget it... - Original Message - From: Gert Driesen To: Martin Aliger ; ! nant Sent: Friday, September 12, 2003 1:08 PM Subject: Re: [nant-dev] solution task addin Look very good, but I have some remarks : use BuildElementCollection(compilerargument or compilerargs) instead of [BuildElementArray(arg)] that will : - make it clear that those are argument that will be passed to the compiler - allow us to use a more structured build layout solution ... projects ... ... /project compilerarguments | compilerargs arg value=. / arg value= / /compilerarguments | /compilerargs /solution why not rename GetCSCArguments to GetCompilerArguments, as these arguments will also be useful for other compilers (VB.NET). Keep up the good work !!! Gert PS. can you also change your code format to use brackets on the same line, instead of on the next line ... - Original Message - From: Martin Aliger To: ! nant Sent: Friday, September 12, 2003 11:35 AM Subject: [nant-dev] solution task addin Hi all, Again, I propose an addin into solution task. It enables use of extra parameters for csc task as in this case: solution configuration=Release outputdir=${output.dir} includevsfolders=false projects includes name=${build.dir}/**/*.csproj/ /projects assemblyfolders includes name=${output.dir}/ includes name=${nunit.dir}/ /assemblyfolders arg value=/codepage:1250/ /solution adding extra /codepage:1250 to csc calls. This is needed, when .cs files are in another codepage than ascii, unicode or utf-8. This could be used for other switches as well! Hope you'll like it :) Martin --- 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
Re: [nant-dev] solution task addin
I agree with Martin. Sometimes you need to override a build setting on your build machine. At our shop, we tag each build with a string version that doesn't fit Microsoft's idea of a version number. This produces a warning and, on assemblies that build with warning = error, a build failure! It's easier for us to add the /nowarn: flag on each assembly at build time, rather than at development time (imagine adding this flag to 75 C# projects :)). The solution task was never designed to operate specifically like VS.NET, but rather with the ability to build VS.NET compatible files and offering a great deal more functionality. This makes up for the lack of functionality that Microsoft has given VS.NET's build process. I'm all for adding any functionality that allows me to customize my build further. See this link for some more info: http://nant.sourceforge.net/wiki/index.php/SolutionTask Martin Aliger wrote: Hi Jarek, Personally I think it's a bad idea to have extensions like this because they change semantics of solution task from something very simple (do it like VS.NET does) to something quite difficult to follow. Maybe you need to build exacly what solution says. But I need to override some settings. For example output path (outputdir attribute). This overrides something, which is in .csproj. It is handy in some situations. For the same reason could be handy to specify other compiler options. Good point by Matt, that it could be specified by compiler (c#/vb), though. As I see solution task, it is something that take vs solutions or projects and integrate it into nant. Level on which you integrate should be adjustable. Someone want to just build that solution file (build win project on Linux without vs), someone want to use just file list from csproj and override all other options. IMHO current implementation fullfil this idea (to some extent). I've made a quick scan through all csc.exe options that cannot be set in VS.NET by searching through MSDN for This compiler option is unavailable in Visual Studio.. And I see only four options that might be useful to add this way: /utf8output /noconfig /codepage /fullpaths any other options (there are 14 which aren't settable through VS.NET) don't make sense since they would change the semantics of the build or aren't usable with NAnt. True. There could be more options in future, or more options in another compiler (mono) and you want to use it for some reason. Why update .csproj when you could update .build file? For build servers where csprojs are submitted by developes you will need to read and change their csprojs. I do not like this much... I vote against the patch. Martin, if you have problems with the codepage - use UTF-8 for source files or change your system locale. The best way would be to move all language-specific elements to a separate resource XML file (*.resx) because XML files preserve encoding informations. To save your file as UTF-8: VS.NET = File = Advanced Save Options = Encoding = Unicode (UTF-8 with signature) Oh. Thanks! I do not know about this vs feature. resx havn't problem with this, but embedded xmldoc have :-(. Martin Jarek - Original Message - From: Gert Driesen [EMAIL PROTECTED] To: Martin Aliger [EMAIL PROTECTED]; ! nant [EMAIL PROTECTED] Sent: Friday, September 12, 2003 2:19 PM Subject: Re: [nant-dev] solution task addin I'll commit it later today. Thanks, Gert - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: ! nant [EMAIL PROTECTED] Sent: Friday, September 12, 2003 2:04 PM Subject: Re: [nant-dev] solution task addin Here it is reworked. Looks much nicer now :) solution configuration=Release outputdir=${output.dir} includevsfolders=false projects includes name=${build.dir}/**/*.csproj/ /projects assemblyfolders includes name=${output.dir}/ includes name=${nunit.dir}/ /assemblyfolders compilerargs arg value=/codepage:1250/ /compilerargs /solution Martin - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED]; ! nant [EMAIL PROTECTED] Sent: Friday, September 12, 2003 1:08 PM Subject: Re: [nant-dev] solution task addin use BuildElementCollection(compilerargument or compilerargs) instead of [BuildElementArray(arg)] Ok. I'll rework it. PS. can you also change your code format to use brackets on the same line, instead of on the next line ... sorry for that. I was trying hard, but we use different code convention here (similar to VS default) to I sometimes forget it... - Original Message - From: Gert Driesen To: Martin Aliger ; ! nant Sent: Friday, September 12, 2003 1:08 PM Subject: Re: [nant-dev] solution task addin Look very good, but I have some remarks : use BuildElementCollection(compilerargument or compilerargs
Re: [nant-dev] solution task addin
Hi Jarek, Personally I think it's a bad idea to have extensions like this because they change semantics of solution task from something very simple (do it like VS.NET does) to something quite difficult to follow. Maybe you need to build exacly what solution says. But I need to override some settings. For example output path (outputdir attribute). This overrides something, which is in .csproj. It is handy in some situations. For the same reason could be handy to specify other compiler options. Good point by Matt, that it could be specified by compiler (c#/vb), though. As I see solution task, it is something that take vs solutions or projects and integrate it into nant. Level on which you integrate should be adjustable. Someone want to just build that solution file (build win project on Linux without vs), someone want to use just file list from csproj and override all other options. IMHO current implementation fullfil this idea (to some extent). I've made a quick scan through all csc.exe options that cannot be set in VS.NET by searching through MSDN for This compiler option is unavailable in Visual Studio.. And I see only four options that might be useful to add this way: /utf8output /noconfig /codepage /fullpaths any other options (there are 14 which aren't settable through VS.NET) don't make sense since they would change the semantics of the build or aren't usable with NAnt. True. There could be more options in future, or more options in another compiler (mono) and you want to use it for some reason. Why update .csproj when you could update .build file? For build servers where csprojs are submitted by developes you will need to read and change their csprojs. I do not like this much... I vote against the patch. Martin, if you have problems with the codepage - use UTF-8 for source files or change your system locale. The best way would be to move all language-specific elements to a separate resource XML file (*.resx) because XML files preserve encoding informations. To save your file as UTF-8: VS.NET = File = Advanced Save Options = Encoding = Unicode (UTF-8 with signature) Oh. Thanks! I do not know about this vs feature. resx havn't problem with this, but embedded xmldoc have :-(. Martin Jarek - Original Message - From: Gert Driesen [EMAIL PROTECTED] To: Martin Aliger [EMAIL PROTECTED]; ! nant [EMAIL PROTECTED] Sent: Friday, September 12, 2003 2:19 PM Subject: Re: [nant-dev] solution task addin I'll commit it later today. Thanks, Gert - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: ! nant [EMAIL PROTECTED] Sent: Friday, September 12, 2003 2:04 PM Subject: Re: [nant-dev] solution task addin Here it is reworked. Looks much nicer now :) solution configuration=Release outputdir=${output.dir} includevsfolders=false projects includes name=${build.dir}/**/*.csproj/ /projects assemblyfolders includes name=${output.dir}/ includes name=${nunit.dir}/ /assemblyfolders compilerargs arg value=/codepage:1250/ /compilerargs /solution Martin - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED]; ! nant [EMAIL PROTECTED] Sent: Friday, September 12, 2003 1:08 PM Subject: Re: [nant-dev] solution task addin use BuildElementCollection(compilerargument or compilerargs) instead of [BuildElementArray(arg)] Ok. I'll rework it. PS. can you also change your code format to use brackets on the same line, instead of on the next line ... sorry for that. I was trying hard, but we use different code convention here (similar to VS default) to I sometimes forget it... - Original Message - From: Gert Driesen To: Martin Aliger ; ! nant Sent: Friday, September 12, 2003 1:08 PM Subject: Re: [nant-dev] solution task addin Look very good, but I have some remarks : use BuildElementCollection(compilerargument or compilerargs) instead of [BuildElementArray(arg)] that will : - make it clear that those are argument that will be passed to the compiler - allow us to use a more structured build layout solution ... projects ... ... /project compilerarguments | compilerargs arg value=. / arg value= / /compilerarguments | /compilerargs /solution why not rename GetCSCArguments to GetCompilerArguments, as these arguments will also be useful for other compilers (VB.NET). Keep up the good work !!! Gert PS. can you also change your code format to use brackets on the same line, instead of on the next line ... - Original Message - From: Martin Aliger To: ! nant Sent: Friday, September 12, 2003 11:35 AM
[nant-dev] Solution Task Question
I apologize in advance if I'm posting a question that has recently been answered. Many posts as oflate have gone many miles over my head... Developersin my shoprecently got sick of reference problems and began using project references (while I was in a meeting Friday afternoon). This is good from a VS.NET standpoint because the projects are no longer machine dependant. However,it crushed my .build file using the solution taskbecause it puts some sort of registry entry into the .csproj file instead of hintpath: Project = "{04586948-73A6-405E-A657-447805201530}" Package = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}" This seems to be a topic of late but I haven't grasped exactly what has transpired with the solution task. Could someone toss some layman verbiage out my way? Thanks, Eric Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software
[nant-dev] solution task question
Hi all, What should this code in Reference::GetReferenceFiles do? // Get a list of the references in the output directory foreach (string referenceFile in Directory.GetFiles(fi.DirectoryName, "*.dll")) { // Now for each reference, get the related files (.xml, .pdf, etc...) string relatedFiles = Path.GetFileName(Path.ChangeExtension(referenceFile, ".*")); foreach (string relatedFile in Directory.GetFiles(fi.DirectoryName, relatedFiles)) { // Ignore any other the garbage files created string fileExtension = Path.GetExtension(relatedFile).ToLower(CultureInfo.InvariantCulture); if (fileExtension != ".dll" fileExtension != ".xml" fileExtension != ".pdb") { continue; } referencedFiles.Add(new FileInfo(relatedFile).Name); } } I do not underestand it at all. I have project which references assembly not in solution but in precompiled dll. It is in folder together with other 50 dlls which have no link with this one. And this code copy all that dlls to mine output directory! Regards, Martin
RE: [nant-dev] solution task question
That's correct behavior that also happens when compiling from VS.NET; referenced DLLs get copied to the executable folder. You can change this behavior from VS.NET if you go to the properties of the reference and set copy local to false. Unless you are putting probing directives into your configuration file, your DLLs either need to be in the same folder as your executable or they have to be strongly named and placed in the GAC. I assume this is all correctly in the solution task since we use it extensively in a large project with some GAC dlls, some project dlls and some copy local dlls referenced directly. - TFC From: Martin Aliger [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 02, 2003 6:49 AM To: ! nant Hi all, What should this code in Reference::GetReferenceFiles do? // Get a list of the references in the output directory foreach (string referenceFile in Directory.GetFiles(fi.DirectoryName, *.dll)) { // Now for each reference, get the related files (.xml, .pdf, etc...) string relatedFiles = Path.GetFileName(Path.ChangeExtension(referenceFile, .*)); foreach (string relatedFile in Directory.GetFiles(fi.DirectoryName, relatedFiles)) { // Ignore any other the garbage files created string fileExtension = Path.GetExtension(relatedFile).ToLower(CultureInfo.InvariantCulture); if (fileExtension != .dll fileExtension != .xml fileExtension != .pdb) { continue; } referencedFiles.Add(new FileInfo(relatedFile).Name); } } I do not underestand it at all. I have project which references assembly not in solution but in precompiled dll. It is in folder together with other 50 dlls which have no link with this one. And this code copy all that dlls to mine output directory! Regards, Martin --- 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] solution task question
I noticed this today as well with the solution task and it is not the same behaviour using VS.NET. For me, unreferenced assemblies do not get copied by VS.NET to the output directory. It only copies assemblies that are referenced directly in your project file or indirectly by a referenced assembly which it can find via the reference path. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tom Cabanski Sent: Tuesday, 2 September 2003 10:21 PM To: Martin Aliger; [EMAIL PROTECTED] Subject: RE: [nant-dev] solution task question That's correct behavior that also happens when compiling from VS.NET; referenced DLLs get copied to the executable folder. You can change this behavior from VS.NET if you go to the properties of the reference and set copy local to false. Unless you are putting probing directives into your configuration file, your DLLs either need to be in the same folder as your executable or they have to be strongly named and placed in the GAC. I assume this is all correctly in the solution task since we use it extensively in a large project with some GAC dlls, some project dlls and some copy local dlls referenced directly. - TFC --- 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] solution task question
That's correct behavior that also happens when compiling from VS.NET; referenced DLLs get copied to the executable folder. You can change this behavior from VS.NET if you go to the properties of the reference and set copy local to false. Unless you are putting probing directives into your configuration file, your DLLs either need to be in the same folder as your executable or they have to be strongly named and placed in the GAC. I must disagree Tom. I have solution in VS with one reference to DLL e:\net\dll\Gordic.General.dll when compile and look into bin/Debug I see this: Gordic.General.dll Gordic.Support.Win32.dll Gordic.Support.Win32.pdb Gordic.General.xml this is all. But folder e:\net\dll contains about 50 dlls and some xmls. Nant copy ALL these to output folder which is definitly not correct. I believe there was some idea behind that code. But what? Martin - Original Message - From: Eddie Tse [EMAIL PROTECTED] To: 'Tom Cabanski' [EMAIL PROTECTED]; 'Martin Aliger' [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Tuesday, September 02, 2003 2:28 PM Subject: RE: [nant-dev] solution task question I noticed this today as well with the solution task and it is not the same behaviour using VS.NET. For me, unreferenced assemblies do not get copied by VS.NET to the output directory. It only copies assemblies that are referenced directly in your project file or indirectly by a referenced assembly which it can find via the reference path. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tom Cabanski Sent: Tuesday, 2 September 2003 10:21 PM To: Martin Aliger; [EMAIL PROTECTED] Subject: RE: [nant-dev] solution task question I assume this is all correctly in the solution task since we use it extensively in a large project with some GAC dlls, some project dlls and some copy local dlls referenced directly. - TFC --- 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] solution task question
The solution task is busted in this regard. VS.NET will open each of the assemblies and determine the other assemblies that are referenced by it. This is one of the reasons that you end up with VS.NET locking certain output assemblies! :) This would require code to open each of the assemblies (which, of course, will lock the files on disk until the AppDomain terminates) and scan for their assembly dependencies. Please note that using Assembly.Load(byte[]) is not an acceptable alternative. Not only do some assemblies lock up when loaded this way, but it can also leak unmanaged memory in certain cases! Shadow copy directories might work, but I haven't investigated how NAnt has been handling these. Because of the lame .NET locking rules, the solution task assumes that each of the files in the output directory were placed there because they were referenced by the actual output file. Matt. On Tue, 2003-09-02 at 06:28, Eddie Tse wrote: I noticed this today as well with the solution task and it is not the same behaviour using VS.NET. For me, unreferenced assemblies do not get copied by VS.NET to the output directory. It only copies assemblies that are referenced directly in your project file or indirectly by a referenced assembly which it can find via the reference path. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tom Cabanski Sent: Tuesday, 2 September 2003 10:21 PM To: Martin Aliger; [EMAIL PROTECTED] Subject: RE: [nant-dev] solution task question That's correct behavior that also happens when compiling from VS.NET; referenced DLLs get copied to the executable folder. You can change this behavior from VS.NET if you go to the properties of the reference and set copy local to false. Unless you are putting probing directives into your configuration file, your DLLs either need to be in the same folder as your executable or they have to be strongly named and placed in the GAC. I assume this is all correctly in the solution task since we use it extensively in a large project with some GAC dlls, some project dlls and some copy local dlls referenced directly. - TFC --- 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 -- Matthew Mastracci [EMAIL PROTECTED] --- 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] solution task assemblyfolders
Hi again, I review mine patch I sent yesterday and fix problems Jarek found (thanks again) [solution.patch] There are still problem with registry read (which Matt point out) and I set new includevsfolders attribute default to true (VS compatible, not compatible with current nant, use registry read). 2/ I find problem with project dependencies when you are not explicitly use project dependency, but normal one and include dependent project into solution. E.g. project1 standalone project2 depends on project1.dll and build both projects. Dependencies are not correctly found now. Visual Studio fails as well, but we could be better here :) [b.patch] address this issue (it uses AssemblyFolders from previous patch, because this do not happen without it) Regards, Martin btw: if someone is better English speaker than I am, please correct mine comments in code - Original Message - From: Jaroslaw Kowalski [EMAIL PROTECTED] To: Martin Aliger [EMAIL PROTECTED]; ! nant [EMAIL PROTECTED] Sent: Monday, September 01, 2003 5:48 PM Subject: Re: [nant-dev] solution task assemblyfolders Hi all! That's a very good idea, however just by looking at your patch I see few problems: 1. When you have both VS.NET 2002 and VS.NET 2003 you actually have more registry keys to consider: HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\7.0\AssemblyFolders HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\7.0\AssemblyFolders HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\7.1\AssemblyFolders HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\7.1\AssemblyFolders where as a rule CURRENT_USER settings override the local machine. I think that the registry paths should be stored a part of the framework configuration in NAnt.exe.config. For mono on linux you would simply have no paths to examine. 2. Looks like there's a mistake in your code: +FileSet af = _solutionTask.AssemblyFolders; +if(af.DirectoryNames.Count==0) af=_solutionTask.DefaultAssemlyFolders; + +foreach(string path in _solutionTask.AssemblyFolders.DirectoryNames) +{ +fiRef = new FileInfo(Path.Combine(path,justFilename)); +if ( fiRef.Exists ) +{ +_referenceFile = fiRef.FullName; +_baseDirectory = fiRef.DirectoryName; +return; +} +} You initialize local variable af to some fileset but iterate over _solutionTask.AssemblyFolders.DirectoryNames so obviously af is not used. I think it was meant to be foreach(string path in af.DirectoryNames) 3. I think there should be an option to include/exclude DefaultAssemblyFolders from processing. In your patch there's a line: +if(af.DirectoryNames.Count==0) af=_solutionTask.DefaultAssemlyFolders; I think that the semantics should be: process all directories specified in the fileset PLUS any directories found via DefaultAssemblyFolders when the user asks for it You would have a syntax like this. solution includevsfolders=true /solution I think that this new option should default to false. Having it otherwise would be dangerous as it would by default introduce a dependency of the registry and might produce inconsistent results on different build machines. Overall: the direction is good, but your patch still needs some work, Martin. You're very close, though. Jarek - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: ! nant [EMAIL PROTECTED] Sent: Monday, September 01, 2003 5:04 PM Subject: [nant-dev] solution task assemblyfolders Hi all! I implement that assemblyfolder subtag for solution as we discused it here. I hope my coding convention is ok (try to be close to yours). I'm also totally confused by security checks. Have you any experience with enabling read from registry? [it is ok for me without it, but...] There will be some other matters regarding project dependencies and paths but I need to explore it first. Regards, Martin solution.patch Description: Binary data b.patch Description: Binary data
Re: [nant-dev] solution task assemblyfolders
Martin, Your patches were committed to cvs. Thanks for the contribution, Gert - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: Jaroslaw Kowalski [EMAIL PROTECTED]; ! nant [EMAIL PROTECTED] Sent: Tuesday, September 02, 2003 6:18 PM Subject: Re: [nant-dev] solution task assemblyfolders Hi again, I review mine patch I sent yesterday and fix problems Jarek found (thanks again) [solution.patch] There are still problem with registry read (which Matt point out) and I set new includevsfolders attribute default to true (VS compatible, not compatible with current nant, use registry read). 2/ I find problem with project dependencies when you are not explicitly use project dependency, but normal one and include dependent project into solution. E.g. project1 standalone project2 depends on project1.dll and build both projects. Dependencies are not correctly found now. Visual Studio fails as well, but we could be better here :) [b.patch] address this issue (it uses AssemblyFolders from previous patch, because this do not happen without it) Regards, Martin btw: if someone is better English speaker than I am, please correct mine comments in code - Original Message - From: Jaroslaw Kowalski [EMAIL PROTECTED] To: Martin Aliger [EMAIL PROTECTED]; ! nant [EMAIL PROTECTED] Sent: Monday, September 01, 2003 5:48 PM Subject: Re: [nant-dev] solution task assemblyfolders Hi all! That's a very good idea, however just by looking at your patch I see few problems: 1. When you have both VS.NET 2002 and VS.NET 2003 you actually have more registry keys to consider: HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\7.0\AssemblyFolders HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\7.0\AssemblyFolders HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\7.1\AssemblyFolders HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\7.1\AssemblyFolders where as a rule CURRENT_USER settings override the local machine. I think that the registry paths should be stored a part of the framework configuration in NAnt.exe.config. For mono on linux you would simply have no paths to examine. 2. Looks like there's a mistake in your code: +FileSet af = _solutionTask.AssemblyFolders; +if(af.DirectoryNames.Count==0) af=_solutionTask.DefaultAssemlyFolders; + +foreach(string path in _solutionTask.AssemblyFolders.DirectoryNames) +{ +fiRef = new FileInfo(Path.Combine(path,justFilename)); +if ( fiRef.Exists ) +{ +_referenceFile = fiRef.FullName; +_baseDirectory = fiRef.DirectoryName; +return; +} +} You initialize local variable af to some fileset but iterate over _solutionTask.AssemblyFolders.DirectoryNames so obviously af is not used. I think it was meant to be foreach(string path in af.DirectoryNames) 3. I think there should be an option to include/exclude DefaultAssemblyFolders from processing. In your patch there's a line: +if(af.DirectoryNames.Count==0) af=_solutionTask.DefaultAssemlyFolders; I think that the semantics should be: process all directories specified in the fileset PLUS any directories found via DefaultAssemblyFolders when the user asks for it You would have a syntax like this. solution includevsfolders=true /solution I think that this new option should default to false. Having it otherwise would be dangerous as it would by default introduce a dependency of the registry and might produce inconsistent results on different build machines. Overall: the direction is good, but your patch still needs some work, Martin. You're very close, though. Jarek - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: ! nant [EMAIL PROTECTED] Sent: Monday, September 01, 2003 5:04 PM Subject: [nant-dev] solution task assemblyfolders Hi all! I implement that assemblyfolder subtag for solution as we discused it here. I hope my coding convention is ok (try to be close to yours). I'm also totally confused by security checks. Have you any experience with enabling read from registry? [it is ok for me without it, but...] There will be some other matters regarding project dependencies and paths but I need to explore it first. Regards, Martin --- 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
[nant-dev] solution task assemblyfolders
Hi all! I implement that assemblyfolder subtag for solution as we discused it here. I hope my coding convention is ok (try to be close to yours). I'm also totally confused by security checks. Have you any experience with enabling read from registry? [it is ok for me without it, but...] There will be some other matters regarding project dependencies and paths but I need to explore it first. Regards, Martin a.patch Description: Binary data
Re: [nant-dev] solution task assemblyfolders
Hi all! That's a very good idea, however just by looking at your patch I see few problems: 1. When you have both VS.NET 2002 and VS.NET 2003 you actually have more registry keys to consider: HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\7.0\AssemblyFolders HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\7.0\AssemblyFolders HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\7.1\AssemblyFolders HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\7.1\AssemblyFolders where as a rule CURRENT_USER settings override the local machine. I think that the registry paths should be stored a part of the framework configuration in NAnt.exe.config. For mono on linux you would simply have no paths to examine. 2. Looks like there's a mistake in your code: +FileSet af = _solutionTask.AssemblyFolders; +if(af.DirectoryNames.Count==0) af=_solutionTask.DefaultAssemlyFolders; + +foreach(string path in _solutionTask.AssemblyFolders.DirectoryNames) +{ +fiRef = new FileInfo(Path.Combine(path,justFilename)); +if ( fiRef.Exists ) +{ +_referenceFile = fiRef.FullName; +_baseDirectory = fiRef.DirectoryName; +return; +} +} You initialize local variable af to some fileset but iterate over _solutionTask.AssemblyFolders.DirectoryNames so obviously af is not used. I think it was meant to be foreach(string path in af.DirectoryNames) 3. I think there should be an option to include/exclude DefaultAssemblyFolders from processing. In your patch there's a line: +if(af.DirectoryNames.Count==0) af=_solutionTask.DefaultAssemlyFolders; I think that the semantics should be: process all directories specified in the fileset PLUS any directories found via DefaultAssemblyFolders when the user asks for it You would have a syntax like this. solution includevsfolders=true /solution I think that this new option should default to false. Having it otherwise would be dangerous as it would by default introduce a dependency of the registry and might produce inconsistent results on different build machines. Overall: the direction is good, but your patch still needs some work, Martin. You're very close, though. Jarek - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: ! nant [EMAIL PROTECTED] Sent: Monday, September 01, 2003 5:04 PM Subject: [nant-dev] solution task assemblyfolders Hi all! I implement that assemblyfolder subtag for solution as we discused it here. I hope my coding convention is ok (try to be close to yours). I'm also totally confused by security checks. Have you any experience with enabling read from registry? [it is ok for me without it, but...] There will be some other matters regarding project dependencies and paths but I need to explore it first. Regards, Martin --- 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] solution task fixes
How about this. Index: Solution.cs === RCS file: /cvsroot/nant/nant/src/NAnt.VSNet/Solution.cs,v retrieving revision 1.8 diff -u -r1.8 Solution.cs --- Solution.cs 17 Aug 2003 08:46:53 - 1.8 +++ Solution.cs 23 Aug 2003 23:51:15 - @@ -61,6 +61,12 @@ string guid = m.Groups[guid].Value; string fullPath; +// only supports vb and cs projects +if (!project.ToLower().EndsWith(.csproj) !project.ToLower().EndsWith(.vbproj)) { +_solutionTask.Log(Level.Info, Currently only supports VB and CS projects. Skipping {0}., project); +continue; +} + try { // translate URLs to physical paths if using a webmap WebMap map = _webMaps[project]; -Original Message- From: Matthew Mastracci [mailto:[EMAIL PROTECTED] Sent: Saturday, 23 August 2003 1:11 AM To: Eddie Tse Cc: [EMAIL PROTECTED] Subject: Re: [nant-dev] solution task fixes Eddie - ignoring non-csproj and non-vbproj files looks good. We shouldn't do this without at least warning the user that we are ignoring their projects, however. Can you add a log message to this test? --- 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
[nant-dev] solution task
Hi, recent outputdir addon is missing this (second constructor) --- E:\src\nant\distrib\NAnt.VSNet\Solution.cs Sun Aug 24 09:29:48 2003 +++ E:\src\nant\src\NAnt.VSNet\Solution.cs Wed Aug 27 13:22:38 2003 @@ -124,6 +124,7 @@ _solutionTask = solutionTask; _excludesProjects = excludesProjects; _webMaps = webMaps; +_outputDir = outputDir; LoadProjectGUIDs(projects, false); LoadProjectGUIDs(referenceProjects, true); [checked agains build nant-20030826.zip, sorry for non-cvs] S pozdravem Ing. Martin Aliger gordic.gif
Re: [nant-dev] solution task
This is now fixed in cvs. Thanks ! Gert - Original Message - From: Martin Aliger [EMAIL PROTECTED] To: ! nant [EMAIL PROTECTED] Sent: Wednesday, August 27, 2003 2:15 PM Subject: [nant-dev] solution task Hi, recent outputdir addon is missing this (second constructor) --- E:\src\nant\distrib\NAnt.VSNet\Solution.cs Sun Aug 24 09:29:48 2003 +++ E:\src\nant\src\NAnt.VSNet\Solution.cs Wed Aug 27 13:22:38 2003 @@ -124,6 +124,7 @@ _solutionTask = solutionTask; _excludesProjects = excludesProjects; _webMaps = webMaps; +_outputDir = outputDir; LoadProjectGUIDs(projects, false); LoadProjectGUIDs(referenceProjects, true); [checked agains build nant-20030826.zip, sorry for non-cvs] S pozdravem Ing. Martin Aliger --- 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
[nant-dev] Solution task Output Assemblies
When compiling with devenv it will overrite the output assembly regardless of its file attributes (ie: ReadOnly). The solution task does not do this. Here is a patch to synch the two behaviours: NAnt.VSNet/Project.cs //THIS LINE MAKES THE OUTPUT FILE WRITTABLE System.IO.File.SetAttributes (cs.FullOutputFile , System.IO.FileAttributes.Normal ); // ProcessStartInfo psi = null; if ( _ps.Type == ProjectType.CSharp ) { psi = new ProcessStartInfo( Path.Combine( _nanttask.Project.CurrentFramework.FrameworkDirectory.FullName, csc.exe ), @ + strTempFile ); } if ( _ps.Type == ProjectType.VBNet ) { psi = new ProcessStartInfo( Path.Combine( _nanttask.Project.CurrentFramework.FrameworkDirectory.FullName, vbc.exe ), @ + strTempFile ); } _ Protect your PC - get McAfee.com VirusScan Online http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963 --- 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
Re: [nant-dev] solution task fixes
Hi Eddie, I've committed your patches to cvs. Thanks ! Gert - Original Message - From: Eddie Tse [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, August 21, 2003 3:58 PM Subject: [nant-dev] solution task fixes Hi All, I've been experimenting with the solution task from CVS and had made a few changes in order to make it work for me. Added the NoWarn option from VS.NET 2003 I have SQL projects as well as deployment projects in my solution, so ignored those. And the webmapcollection was using the path instead of the url to retrieve the webmap object. Index: ConfigurationSettings.cs === RCS file: /cvsroot/nant/nant/src/NAnt.VSNet/ConfigurationSettings.cs,v retrieving revision 1.5 diff -u -r1.5 ConfigurationSettings.cs --- ConfigurationSettings.cs 17 Aug 2003 08:46:53 - 1.5 +++ ConfigurationSettings.cs 21 Aug 2003 13:54:48 - @@ -70,6 +70,7 @@ if (projectSettings.Type == ProjectType.CSharp) { htStringSettings[WarningLevel] = /warn:{0}; +htStringSettings[NoWarn] = /nowarn:{0}; htBooleanSettings[IncrementalBuild] = /incremental; } Index: Solution.cs === RCS file: /cvsroot/nant/nant/src/NAnt.VSNet/Solution.cs,v retrieving revision 1.8 diff -u -r1.8 Solution.cs --- Solution.cs 17 Aug 2003 08:46:53 - 1.8 +++ Solution.cs 21 Aug 2003 13:54:52 - @@ -61,6 +61,11 @@ string guid = m.Groups[guid].Value; string fullPath; +// only supports vb and cs projects +if (!project.ToLower().EndsWith(.csproj) !project.ToLower().EndsWith(.vbproj)) { +continue; +} + try { // translate URLs to physical paths if using a webmap WebMap map = _webMaps[project]; Index: Types/WebMapCollection.cs === RCS file: /cvsroot/nant/nant/src/NAnt.VSNet/Types/WebMapCollection.cs,v retrieving revision 1.1 diff -u -r1.1 WebMapCollection.cs --- Types/WebMapCollection.cs 17 Aug 2003 08:37:51 - 1.1 +++ Types/WebMapCollection.cs 21 Aug 2003 13:54:53 - @@ -75,7 +75,7 @@ if (value != null) { // Try to locate instance using Value foreach (WebMap WebMap in base.List) { -if (value.Equals(WebMap.Path)) { +if (value.Equals(WebMap.Url)) { return WebMap; } } --- 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] solution task fixes
Hi All, I've been experimenting with the solution task from CVS and had made a few changes in order to make it work for me. Added the NoWarn option from VS.NET 2003 I have SQL projects as well as deployment projects in my solution, so ignored those. And the webmapcollection was using the path instead of the url to retrieve the webmap object. Index: ConfigurationSettings.cs === RCS file: /cvsroot/nant/nant/src/NAnt.VSNet/ConfigurationSettings.cs,v retrieving revision 1.5 diff -u -r1.5 ConfigurationSettings.cs --- ConfigurationSettings.cs17 Aug 2003 08:46:53 - 1.5 +++ ConfigurationSettings.cs21 Aug 2003 13:54:48 - @@ -70,6 +70,7 @@ if (projectSettings.Type == ProjectType.CSharp) { htStringSettings[WarningLevel] = /warn:{0}; +htStringSettings[NoWarn] = /nowarn:{0}; htBooleanSettings[IncrementalBuild] = /incremental; } Index: Solution.cs === RCS file: /cvsroot/nant/nant/src/NAnt.VSNet/Solution.cs,v retrieving revision 1.8 diff -u -r1.8 Solution.cs --- Solution.cs 17 Aug 2003 08:46:53 - 1.8 +++ Solution.cs 21 Aug 2003 13:54:52 - @@ -61,6 +61,11 @@ string guid = m.Groups[guid].Value; string fullPath; +// only supports vb and cs projects +if (!project.ToLower().EndsWith(.csproj) !project.ToLower().EndsWith(.vbproj)) { +continue; +} + try { // translate URLs to physical paths if using a webmap WebMap map = _webMaps[project]; Index: Types/WebMapCollection.cs === RCS file: /cvsroot/nant/nant/src/NAnt.VSNet/Types/WebMapCollection.cs,v retrieving revision 1.1 diff -u -r1.1 WebMapCollection.cs --- Types/WebMapCollection.cs 17 Aug 2003 08:37:51 - 1.1 +++ Types/WebMapCollection.cs 21 Aug 2003 13:54:53 - @@ -75,7 +75,7 @@ if (value != null) { // Try to locate instance using Value foreach (WebMap WebMap in base.List) { -if (value.Equals(WebMap.Path)) { +if (value.Equals(WebMap.Url)) { return WebMap; } } --- 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
Re: [nant-dev] solution task fixes
Eddie - ignoring non-csproj and non-vbproj files looks good. We shouldn't do this without at least warning the user that we are ignoring their projects, however. Can you add a log message to this test? Eddie Tse wrote: Hi All, I've been experimenting with the solution task from CVS and had made a few changes in order to make it work for me. Added the NoWarn option from VS.NET 2003 I have SQL projects as well as deployment projects in my solution, so ignored those. And the webmapcollection was using the path instead of the url to retrieve the webmap object. Index: ConfigurationSettings.cs === RCS file: /cvsroot/nant/nant/src/NAnt.VSNet/ConfigurationSettings.cs,v retrieving revision 1.5 diff -u -r1.5 ConfigurationSettings.cs --- ConfigurationSettings.cs 17 Aug 2003 08:46:53 - 1.5 +++ ConfigurationSettings.cs 21 Aug 2003 13:54:48 - @@ -70,6 +70,7 @@ if (projectSettings.Type == ProjectType.CSharp) { htStringSettings[WarningLevel] = /warn:{0}; +htStringSettings[NoWarn] = /nowarn:{0}; htBooleanSettings[IncrementalBuild] = /incremental; } Index: Solution.cs === RCS file: /cvsroot/nant/nant/src/NAnt.VSNet/Solution.cs,v retrieving revision 1.8 diff -u -r1.8 Solution.cs --- Solution.cs 17 Aug 2003 08:46:53 - 1.8 +++ Solution.cs 21 Aug 2003 13:54:52 - @@ -61,6 +61,11 @@ string guid = m.Groups[guid].Value; string fullPath; +// only supports vb and cs projects +if (!project.ToLower().EndsWith(.csproj) !project.ToLower().EndsWith(.vbproj)) { +continue; +} + try { // translate URLs to physical paths if using a webmap WebMap map = _webMaps[project]; Index: Types/WebMapCollection.cs === RCS file: /cvsroot/nant/nant/src/NAnt.VSNet/Types/WebMapCollection.cs,v retrieving revision 1.1 diff -u -r1.1 WebMapCollection.cs --- Types/WebMapCollection.cs 17 Aug 2003 08:37:51 - 1.1 +++ Types/WebMapCollection.cs 21 Aug 2003 13:54:53 - @@ -75,7 +75,7 @@ if (value != null) { // Try to locate instance using Value foreach (WebMap WebMap in base.List) { -if (value.Equals(WebMap.Path)) { +if (value.Equals(WebMap.Url)) { return WebMap; } } --- 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] Solution Task Issues
I am trying to get the solution task to work and found a couple of things that might make my (and others?) life easier. [1] When looking for references it uses the HintPath element on the project. Unfortunately this is not a reliable way to locate references. Visual Studio actual uses a .user file to store the location of references (ugly I know). It would be nice if the solution task could accept an element that would specify the location of shared references (ie: referencepath=${lib.dir} or something) [2] The solution task crashes if you don't specify a default framework. It uses the location of the GAC and if its not set you get a Null Reference Exception. brant ... _ Add photos to your e-mail with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail --- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa0013ave/direct;at.aspnet_072303_01/01 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Solution task problem
Hi I novice to Nant and Ant. I try to using task solution target name="build" solution configuration="debug" projects !--includes name="Core.etp" /-- includes name="Bkc.Oblik.aCRM.Common/Bkc.Oblik.aCRM.Common.csproj"/ /projects /solution /target And got those answer : build: [solution] Starting solution build. [solution] Included projects: [solution] - C:\aCRM\src\Core\Bkc.Oblik.aCRM.Common\Bkc.Oblik.aCRM.Common.csproj [solution] Reference projects: Total time: 0 seconds. BUILD FAILED INTERNAL ERROR System.Exception: External reference found, but project was not loaded: Bkc.Oblik.OperationManagment at NAnt.VSNet.Tasks.Reference..ctor(Solution sln, ProjectSettings ps, XmlElement elemReference, Task nanttask) at NAnt.VSNet.Tasks.Project.Load(Solution sln, String strFilename) at NAnt.VSNet.Tasks.Solution.LoadProjects() at NAnt.VSNet.Tasks.Solution..ctor(ArrayList alProjects, ArrayList alReferenceProjects, TempFileCollection tfc, Task nanttask) at NAnt.VSNet.Tasks.SolutionTask.ExecuteTask() at NAnt.Core.Task.Execute() at NAnt.Core.Target.Execute() at NAnt.Core.Project.Execute(String targetName) at NAnt.Core.Tasks.CallTask.ExecuteTask() at NAnt.Core.Task.Execute() at NAnt.Core.Target.Execute() at NAnt.Core.Project.Execute(String targetName) at NAnt.Core.Project.Execute() at NAnt.Core.Project.Run() Please send bug report to [EMAIL PROTECTED] Regards, Dmitry Bezuglyy amid@bkc.com.ua
[nant-dev] Solution task fixes checked in
For those interested, some recent bugfixes checked in: - Generate the correct filename for .resx files without dependent files (ie: x\foo.resx in project some.namespace - some.namespace.x.foo.resources) - Convert the requested configuration to lowercase to match the rest of the solution building process Matt. --- 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/345/0 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Solution Task WebDav
Make sure you've set Script Source Access in your security settings and set Write access to your bin directory. At some point I'll put in a URL - path mapping in the solution task to get around having to use WebDAV. brant wrote: The NAnt solution task uses WebDav to retreive the project file for WebService applications. The problem is that IIS won't serve up these files (they are forbidden). Is there a work-around for this? brant ... --- This SF.net email is sponsored by: eBay Get office equipment for less on eBay! http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5 ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.net email is sponsored by: eBay Get office equipment for less on eBay! http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5 ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers