.csproject에서 액세스 할 수있는 페이지를 가져오고 단추를 클릭하여 열 수있는 WinForms 응용 프로그램을 만들었습니다.
Here is a link to the code
using System;
using System.Collections.Generic;
using System.IO;
using System.Windows.Forms;
using System.Xml;
using System.Xml.XPath;
namespace OpenAllPages
{
public partial class Form1 : Form
{
public static IList<string> Pages;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string xmlstring = ReadXml("TaskManager.csproj");
Pages = ParseAllPages(xmlstring);
pagesListBox.DataSource = Pages;
}
private string ReadXml(string location)
{
try
{
var myFile = new StreamReader(location);
string myString = myFile.ReadToEnd();
myFile.Close();
return myString;
}
catch (Exception e)
{
MessageBox.Show(String.Format("An error occurred: '{0}'", e.Message));
}
return null;
}
private IList<string> ParseAllPages(string xmlstring)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlstring);
XPathNavigator nav = xmlDoc.DocumentElement.CreateNavigator();
XmlNamespaceManager manager = new XmlNamespaceManager(nav.NameTable);
manager.AddNamespace("x", "http://schemas.microsoft.com/developer/msbuild/2003");
var elements = nav.Select("x:ItemGroup/x:Content", manager);
var pageList = new List<string>();
while (elements.MoveNext())
{
var page = elements.Current.GetAttribute("Include", "");
if (page.EndsWith(".aspx"))
pageList.Add(page);
}
return pageList as IList<string>;
}
private string AddPagePrefix(string page)
{
return "http://localhost:8080/" + page;
}
private void openAllButton_Click(object sender, EventArgs e)
{
foreach (string page in Pages)
System.Diagnostics.Process.Start("chrome.exe", AddPagePrefix(page));
}
}
}
당신은 당신이 OpenAllPages 프로젝트에 열고는 "새로운 경우 복사"를 출력 속성에 복사의 설정하려는 페이지가 포함 된 프로젝트 파일을 배치해야합니다.
I Form1_Load는 TaskManager.csproj를 프로젝트 파일의 이름으로 변경합니다. 그리고의 : 사용중인 브라우저의 실행에
System.Diagnostics.Process.Start("chrome.exe", AddPagePrefix(page));
이름 바꾸기 매개 변수입니다.
webforms, mvc 등을 사용합니까? –
Webforms. 편집 된 질문 – Shlomo