diff options
Diffstat (limited to 'Prebuild/src')
-rw-r--r-- | Prebuild/src/Core/Targets/VS2005Target.cs | 26 |
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> |