[Monodevelop-patches-list] r2029 - in trunk/MonoDevelop/Core/src/Main/Base: . Internal/Project/Project

commit-watcher at mono-cvs.ximian.com commit-watcher at mono-cvs.ximian.com
Tue Nov 16 18:40:48 EST 2004


Author: tberman
Date: 2004-11-16 18:40:48 -0500 (Tue, 16 Nov 2004)
New Revision: 2029

Modified:
   trunk/MonoDevelop/Core/src/Main/Base/ChangeLog
   trunk/MonoDevelop/Core/src/Main/Base/Internal/Project/Project/AbstractProject.cs
Log:
2004-11-16  Todd Berman  <tberman at off.net>

	* Internal/Project/Project/AbstractProject.cs: Make sure that
	references of references are copied in properly. This code needs to
	be refactored. However, this does work. We should basically be walking
	through the references, for Project references, and calling out
	to a helper function. I will rewrite this soon to be more robust
	and less insane.



Modified: trunk/MonoDevelop/Core/src/Main/Base/ChangeLog
===================================================================
--- trunk/MonoDevelop/Core/src/Main/Base/ChangeLog	2004-11-16 19:00:39 UTC (rev 2028)
+++ trunk/MonoDevelop/Core/src/Main/Base/ChangeLog	2004-11-16 23:40:48 UTC (rev 2029)
@@ -1,3 +1,12 @@
+2004-11-16  Todd Berman  <tberman at off.net>
+
+	* Internal/Project/Project/AbstractProject.cs: Make sure that
+	references of references are copied in properly. This code needs to
+	be refactored. However, this does work. We should basically be walking
+	through the references, for Project references, and calling out
+	to a helper function. I will rewrite this soon to be more robust
+	and less insane.
+
 2004-11-12  Todd Berman  <tberman at off.net>
 
 	* Gui/HtmlControl/MozillaControl: No gtype registration, fixes

Modified: trunk/MonoDevelop/Core/src/Main/Base/Internal/Project/Project/AbstractProject.cs
===================================================================
--- trunk/MonoDevelop/Core/src/Main/Base/Internal/Project/Project/AbstractProject.cs	2004-11-16 19:00:39 UTC (rev 2028)
+++ trunk/MonoDevelop/Core/src/Main/Base/Internal/Project/Project/AbstractProject.cs	2004-11-16 23:40:48 UTC (rev 2029)
@@ -544,6 +544,30 @@
 				return;
 			}
 			foreach (ProjectReference projectReference in ProjectReferences) {
+				if (projectReference.ReferenceType == ReferenceType.Project) {
+					IProjectService projectService = (IProjectService)MonoDevelop.Core.Services.ServiceManager.GetService(typeof(IProjectService));
+					ArrayList allProjects = Combine.GetAllProjects (projectService.CurrentOpenCombine);
+					foreach (ProjectCombineEntry entry in allProjects)
+					{
+						IProject proj = entry.Project;
+						if (proj.Name != projectReference.Reference)
+							continue;
+						foreach (ProjectReference refrnc in proj.ProjectReferences)
+						{
+							if (refrnc.ReferenceType != ReferenceType.Gac && (refrnc.LocalCopy || force)) {
+								string referenceFileName = refrnc.GetReferencedFileName (proj);
+								string destinationFileName = fileUtilityService.GetDirectoryNameWithSeparator (config.OutputDirectory) + Path.GetFileName (referenceFileName);
+								try {
+									if (destinationFileName != referenceFileName) {
+										File.Copy (referenceFileName, destinationFileName, true);
+										if (File.Exists (referenceFileName + ".mdb"))
+											File.Copy (referenceFileName + ".mdb", destinationFileName + ".mdb", true);
+									}
+								} catch { }
+							}
+						}
+					}
+				}
 				if ((projectReference.LocalCopy || force) && projectReference.ReferenceType != ReferenceType.Gac) {
 					string referenceFileName   = projectReference.GetReferencedFileName(this);
 					string destinationFileName = fileUtilityService.GetDirectoryNameWithSeparator(config.OutputDirectory) + Path.GetFileName(referenceFileName);




More information about the Monodevelop-patches-list mailing list