Author: mhutch
Date: 2007-12-31 16:31:18 -0500 (Mon, 31 Dec 2007)
New Revision: 92076
Modified:
trunk/monodevelop/main/src/core/MonoDevelop.Projects/ChangeLog
trunk/monodevelop/main/src/core/MonoDevelop.Projects/MonoDevelop.Projects/DotNetProject.cs
Log:
* MonoDevelop.Projects/DotNetProject.cs: Make sure that ClrVersion is
something that the language binding can handle. Fixes some
compilation problems with VB.NET.
Modified: trunk/monodevelop/main/src/core/MonoDevelop.Projects/ChangeLog
===================================================================
--- trunk/monodevelop/main/src/core/MonoDevelop.Projects/ChangeLog
2007-12-31 20:49:12 UTC (rev 92075)
+++ trunk/monodevelop/main/src/core/MonoDevelop.Projects/ChangeLog
2007-12-31 21:31:18 UTC (rev 92076)
@@ -1,3 +1,9 @@
+2007-12-31 Michael Hutchinson <[EMAIL PROTECTED]>
+
+ * MonoDevelop.Projects/DotNetProject.cs: Make sure that ClrVersion is
+ something that the language binding can handle. Fixes some compilation
+ problems with VB.NET.
+
2007-12-19 Lluis Sanchez Gual <[EMAIL PROTECTED]>
* MonoDevelop.Projects/ProjectConvertTool.cs: Improve documentation. Add
Modified:
trunk/monodevelop/main/src/core/MonoDevelop.Projects/MonoDevelop.Projects/DotNetProject.cs
===================================================================
---
trunk/monodevelop/main/src/core/MonoDevelop.Projects/MonoDevelop.Projects/DotNetProject.cs
2007-12-31 20:49:12 UTC (rev 92075)
+++
trunk/monodevelop/main/src/core/MonoDevelop.Projects/MonoDevelop.Projects/DotNetProject.cs
2007-12-31 21:31:18 UTC (rev 92076)
@@ -42,7 +42,7 @@
{
[ItemProperty]
string language;
- ClrVersion clrVersion = ClrVersion.Net_1_1;
+ ClrVersion clrVersion = ClrVersion.Default;
bool usePartialTypes = true;
IDotNetLanguageBinding languageBinding;
@@ -72,12 +72,15 @@
[ItemProperty ("clr-version")]
public ClrVersion ClrVersion {
get {
- return (clrVersion == ClrVersion.Default) ?
ClrVersion.Net_1_1 : clrVersion;
+ if (clrVersion == ClrVersion.Default)
+ ClrVersion = ClrVersion.Default;
+ return clrVersion;
}
set {
- if (clrVersion == value)
+ ClrVersion validValue = GetValidClrVersion
(value);
+ if (clrVersion == validValue || validValue ==
ClrVersion.Default)
return;
- clrVersion = value;
+ clrVersion = validValue;
// Propagate the clr version to configurations.
We don't support
// per-project clr versions right now, but we
might support it
@@ -89,6 +92,29 @@
}
}
+ //if possible, find a ClrVersion that the language binding can
handle
+ ClrVersion GetValidClrVersion (ClrVersion suggestion)
+ {
+ if (languageBinding == null)
+ return ClrVersion.Default;
+
+ if (suggestion == ClrVersion.Default)
+ suggestion = ClrVersion.Net_1_1;
+
+ if (languageBinding != null) {
+ ClrVersion[] versions =
languageBinding.GetSupportedClrVersions ();
+ if (versions != null && versions.Length > 0) {
+ foreach (ClrVersion v in versions) {
+ if (v == suggestion) {
+ return suggestion;
+ }
+ }
+ return versions[0];
+ }
+ }
+ return suggestion;
+ }
+
[ItemProperty (DefaultValue=true)]
public bool UsePartialTypes {
get { return usePartialTypes; }
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches