private string GetSliceCompilerPath(Microsoft.Build.Evaluation.Project project, string iceHome) { ThreadHelper.ThrowIfNotOnUIThread(); string compiler = MSBuildUtils.IsCSharpProject(project) ? "slice2cs.exe" : "slice2cpp.exe"; if (!string.IsNullOrEmpty(iceHome)) { if (File.Exists(Path.Combine(iceHome, "cpp", "bin", compiler))) { return(Path.Combine(iceHome, "cpp", "bin", compiler)); } if (File.Exists(Path.Combine(iceHome, "bin", compiler))) { return(Path.Combine(iceHome, "bin", compiler)); } } string message = "'" + compiler + "' not found"; if (!string.IsNullOrEmpty(iceHome)) { message += " in '" + iceHome + "'. You may need to update Ice Home in 'Tools > Options > Ice'"; } else { message += ". You may need to set Ice Home in 'Tools > Options > Ice'"; } OutputPane.OutputTaskItemString( message, EnvDTE.vsTaskPriority.vsTaskPriorityHigh, "BuildCompile", EnvDTE.vsTaskIcon.vsTaskIconCompile, compiler, 0, message); return(null); }
public static bool IsCSharpProject(IVsProject p) { return(ProjectUtil.GetProjecTypeGuid(p).Equals(csharpProjectGUID) && MSBuildUtils.IsCSharpProject(p.GetMSBuildProject(true))); }