Exemplo n.º 1
0
        void HandleClicked(object sender, EventArgs e)
        {
            var dlg = new OpenFileDialog(GettextCatalog.GetString("Select Assembly"), MonoDevelop.Components.FileChooserAction.Open);

//			dlg.AddFilter (GettextCatalog.GetString ("Assemblies"), "*.[Dd][Ll][Ll]", "*.[Ee][Xx][Ee]");
            dlg.AddFilter(GettextCatalog.GetString("Assemblies"), "*.dll", "*.exe");
            dlg.CurrentFolder  = basePath;
            dlg.SelectMultiple = true;
            dlg.TransientFor   = selectDialog;
            if (dlg.Run())
            {
                basePath = dlg.CurrentFolder;
                foreach (string file in dlg.SelectedFiles)
                {
                    var fn  = new FilePath(file).CanonicalPath;
                    var asm = assemblies.FirstOrDefault(a => a.File.Equals(fn));
                    if (asm != null)
                    {
                        if (!asm.Selected)
                        {
                            asm.Selected = true;
                            AddReference(file);
                        }
                        continue;
                    }

                    bool isAssembly = true;
                    try     {
                        SystemAssemblyService.GetAssemblyName(System.IO.Path.GetFullPath(file));
                    } catch {
                        isAssembly = false;
                    }

                    if (isAssembly)
                    {
                        assemblies.Add(new AssemblyInfo(file)
                        {
                            Selected = true
                        });
                        AddReference(file);
                        if (IsExternalAssembly(file))
                        {
                            selectDialog.RegisterFileReference(file);
                        }
                        else if (!IsNuGetAssembly(file))
                        {
                            selectDialog.RegisterFileReference(file, project.ParentSolution.FileName);
                        }
                    }
                    else
                    {
                        MessageService.ShowError(GettextCatalog.GetString("File '{0}' is not a valid .Net Assembly", file));
                    }
                }
                Reset();
            }
        }
Exemplo n.º 2
0
        void SelectReferenceDialog(object sender, EventArgs e)
        {
            string[] selectedFiles = new string[chooser.Filenames.Length];
            chooser.Filenames.CopyTo(selectedFiles, 0);

            foreach (string file in selectedFiles)
            {
                bool isAssembly = true;
                try     {
                    SystemAssemblyService.GetAssemblyName(System.IO.Path.GetFullPath(file));
                } catch {
                    isAssembly = false;
                }

                if (isAssembly)
                {
                    selectDialog.AddReference(new ProjectReference(ReferenceType.Assembly, file));
                    selectDialog.RegisterFileReference(file);
                }
                else
                {
                    MessageService.ShowError(GettextCatalog.GetString("File '{0}' is not a valid .Net Assembly", file));
                }
            }
        }