[xbuild] ResolveAssemblyReference - add missing api.
[mono.git] / mcs / class / Microsoft.Build.Tasks / Microsoft.Build.Tasks / ResolveAssemblyReference.cs
index f83685f6b810c27695da8e65bd0a35c5dd05ac61..d0d74310e036e221d5f54558ed5a3242c4e66a2f 100644 (file)
@@ -212,8 +212,8 @@ namespace Microsoft.Build.Tasks {
                                        resolved = assembly_resolver.ResolveGacReference (item, specific_version);
                                } else if (String.Compare (spath, "{RawFileName}") == 0) {
                                        //FIXME: identify assembly names, as extract the name, and try with that?
-                                       AssemblyName aname = assembly_resolver.GetAssemblyNameFromFile (item.ItemSpec);
-                                       if (aname != null)
+                                       AssemblyName aname;
+                                       if (assembly_resolver.TryGetAssemblyNameFromFile (item.ItemSpec, out aname))
                                                resolved = assembly_resolver.GetResolvedReference (item, item.ItemSpec, aname, true,
                                                                SearchPath.RawFileName);
                                } else if (String.Compare (spath, "{CandidateAssemblyFiles}") == 0) {
@@ -280,8 +280,8 @@ namespace Microsoft.Build.Tasks {
                                LogWithPrecedingNewLine (MessageImportance.Low, "Primary Reference from AssemblyFiles {0}", item.ItemSpec);
                                string copy_local;
 
-                               AssemblyName aname = assembly_resolver.GetAssemblyNameFromFile (item.ItemSpec);
-                               if (aname == null) {
+                               AssemblyName aname;
+                               if (!assembly_resolver.TryGetAssemblyNameFromFile (item.ItemSpec, out aname)) {
                                        Log.LogWarning ("Reference '{0}' not resolved", item.ItemSpec);
                                        assembly_resolver.LogSearchLoggerMessages (MessageImportance.Normal);
                                        continue;
@@ -644,7 +644,15 @@ namespace Microsoft.Build.Tasks {
                public ITaskItem[] SuggestedRedirects {
                        get { return suggestedRedirects; }
                }
-               
+
+#if NET_4_0
+               public string TargetFrameworkMoniker { get; set; }
+
+               public string TargetFrameworkMonikerDisplayName { get; set; }
+#endif
+
+               public string TargetFrameworkVersion { get; set; }
+
                public string[] TargetFrameworkDirectories {
                        get { return targetFrameworkDirectories; }
                        set { targetFrameworkDirectories = value; }
@@ -655,6 +663,7 @@ namespace Microsoft.Build.Tasks {
                        set { targetProcessorArchitecture = value; }
                }
 
+
                 static Dictionary<string, string> cultureNamesTable;
                 static Dictionary<string, string> CultureNamesTable {
                         get {