aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Prebuild
diff options
context:
space:
mode:
Diffstat (limited to 'Prebuild')
-rw-r--r--Prebuild/src/Core/Targets/VS2005Target.cs26
1 files changed, 18 insertions, 8 deletions
diff --git a/Prebuild/src/Core/Targets/VS2005Target.cs b/Prebuild/src/Core/Targets/VS2005Target.cs
index 3cfc8cd..341c12a 100644
--- a/Prebuild/src/Core/Targets/VS2005Target.cs
+++ b/Prebuild/src/Core/Targets/VS2005Target.cs
@@ -458,6 +458,8 @@ namespace Prebuild.Core.Targets
458 458
459 // Assembly References 459 // Assembly References
460 ps.WriteLine(" <ItemGroup>"); 460 ps.WriteLine(" <ItemGroup>");
461 string refPath = ((ReferencePathNode) project.ReferencePaths[0]).Path;
462
461 foreach (ReferenceNode refr in project.References) 463 foreach (ReferenceNode refr in project.References)
462 { 464 {
463 if (!solution.ProjectsTable.ContainsKey(refr.Name)) 465 if (!solution.ProjectsTable.ContainsKey(refr.Name))
@@ -466,16 +468,21 @@ namespace Prebuild.Core.Targets
466 ps.Write(" Include=\""); 468 ps.Write(" Include=\"");
467 ps.Write(refr.Name); 469 ps.Write(refr.Name);
468 470
469 if (!string.IsNullOrEmpty(refr.Version))
470 {
471 ps.Write(", Version=");
472 ps.Write(refr.Version);
473 }
474
475 ps.WriteLine("\" >"); 471 ps.WriteLine("\" >");
476 472
473 string path;
474
475 if( refr.Name.EndsWith(".dll", StringComparison.InvariantCultureIgnoreCase ))
476 {
477 path = Helper.NormalizePath(Path.Combine( refPath, refr.Name), '\\');
478 }
479 else
480 {
481 path = refr.Name + ".dll";
482 }
483
477 // TODO: Allow reference to *.exe files 484 // TODO: Allow reference to *.exe files
478 ps.WriteLine(" <HintPath>{0}</HintPath>", Helper.MakePathRelativeTo(project.FullPath, refr.Path + "\\" + refr.Name + ".dll")); 485 ps.WriteLine(" <HintPath>{0}</HintPath>", path );
479 ps.WriteLine(" <Private>{0}</Private>", refr.LocalCopy); 486 ps.WriteLine(" <Private>{0}</Private>", refr.LocalCopy);
480 ps.WriteLine(" </Reference>"); 487 ps.WriteLine(" </Reference>");
481 } 488 }
@@ -490,7 +497,10 @@ namespace Prebuild.Core.Targets
490 { 497 {
491 ProjectNode refProject = (ProjectNode)solution.ProjectsTable[refr.Name]; 498 ProjectNode refProject = (ProjectNode)solution.ProjectsTable[refr.Name];
492 // TODO: Allow reference to visual basic projects 499 // TODO: Allow reference to visual basic projects
493 ps.WriteLine(" <ProjectReference Include=\"{0}\">", Helper.MakePathRelativeTo(project.FullPath, Helper.MakeFilePath(refProject.FullPath, refProject.Name, "csproj"))); 500 string path =
501 Helper.MakePathRelativeTo(project.FullPath,
502 Helper.MakeFilePath(refProject.FullPath, refProject.Name, "csproj"));
503 ps.WriteLine(" <ProjectReference Include=\"{0}\">", path );
494 //<ProjectReference Include="..\..\RealmForge\Utility\RealmForge.Utility.csproj"> 504 //<ProjectReference Include="..\..\RealmForge\Utility\RealmForge.Utility.csproj">
495 ps.WriteLine(" <Name>{0}</Name>", refProject.Name); 505 ps.WriteLine(" <Name>{0}</Name>", refProject.Name);
496 // <Name>RealmForge.Utility</Name> 506 // <Name>RealmForge.Utility</Name>