C# ASP.NET의 Project Server 및 Project Online

Project Online 및 Project Server는 Microsoft에서 제공하는 기능이 풍부한 프로젝트 및 포트폴리오 관리 솔루션입니다. 두 솔루션 모두 프로젝트 생성 및 관리를 위해 거의 유사한 범위의 기능을 제공하지만 요구 사항에 적합한 솔루션에 따라 다릅니다. 예를 들어 하드웨어와 소프트웨어를 더 잘 제어할 수 있는 온프레미스 솔루션을 원하는 경우 Project Server를 선택할 수 있습니다. 반면 Project Online은 자체 인프라 없이 Project Server의 클라우드 기반 인스턴스 역할을 합니다.

응용 프로그램 내에서 Project Server/Online의 프로젝트 정보에 액세스해야 하는 경우가 있습니다. 이러한 경우를 처리하기 위해 이 기사에서는 C#을 사용하여 .NET 애플리케이션(ASP.NET 등) 또는 웹 서비스 내에서 Project Server 또는 Project Online에서 프로젝트를 생성/읽는 방법을 보여줍니다. .

프로젝트 서버/온라인용 C# API

새 프로젝트를 만들고 Project Server/Online에서 기존 프로젝트를 읽기 위해 Aspose.Tasks for .NET을 사용합니다. .NET Standard 또는 .NET Core 애플리케이션에서 프로그래밍 방식으로 MS 프로젝트 파일을 읽고 쓰기 위한 플랫폼 간 클래스 라이브러리입니다. API는 NuGet에서 호스팅되며 Downloads 섹션에서 MSI 패키지 및 압축 DLL로 사용할 수 있습니다.

프로젝트 서버 작업

이 섹션에서는 Project Server에 연결하고 프로젝트를 읽거나 만드는 방법을 보여 드리겠습니다. Project Server에 연결하려면 다음 세부 정보를 알아야 합니다.

C#의 Project Server에서 프로젝트 읽기

다음은 Project Server에 연결하고 Project Server에서 프로젝트 목록을 검색하는 단계입니다.

다음 코드 샘플은 C#의 Project Server에서 프로젝트를 읽는 방법을 보여줍니다.

string url = "https://contoso.sharepoint.com";
string domain = "CONTOSO.COM";
string userName = "Administrator";
string password = "MyPassword";

NetworkCredential windowsCredentials = new NetworkCredential(userName, password, domain);
ProjectServerCredentials projectServerCredentials = new ProjectServerCredentials(url, windowsCredentials);
ProjectServerManager manager = new ProjectServerManager(projectServerCredentials);

var list = manager.GetProjectList();
foreach (var projectInfo in list)
{
    Console.WriteLine("{0} - {1} - {2}", projectInfo.Id, projectInfo.CreatedDate, projectInfo.Name);
}

C#의 Project Server에 프로젝트 만들기

Project Server에서 프로젝트를 만드는 것은 파이처럼 간단합니다. 이전 예제와 동일한 방법으로 Project Server에 연결하고 Project 클래스를 사용하여 프로젝트 파일(.mpp)을 로드하고 ProjectServerManager.CreateNewProject() 메서드를 호출하기만 하면 됩니다.

다음 코드 샘플은 C#의 Project Server에서 새 프로젝트를 만드는 방법을 보여줍니다.

Project project = new Project("New Project.mpp");
NetworkCredential windowsCredentials = new NetworkCredential("Administrator", "MyPassword", "CONTOSO.COM");
ProjectServerCredentials projectServerCredentials = new ProjectServerCredentials("https://contoso.sharepoint.com", windowsCredentials);
ProjectServerManager manager = new ProjectServerManager(projectServerCredentials);
manager.CreateNewProject(project);

Project Online 작업

Project Online 작업은 Project Server 작업과 매우 유사하며 연결을 만드는 것만 다릅니다. Project Online에 연결하려면 다음 세부 정보를 알아야 합니다.

  • URL
  • 사용자 이름
  • 비밀번호

C#의 Project Online에서 프로젝트 읽기

다음은 Project Online에서 프로젝트를 읽는 단계입니다.

다음 코드 샘플은 Project Online에서 프로젝트 목록을 검색하는 방법을 보여줍니다.

const string SharepointDomainAddress = "https://contoso.sharepoint.com";
const string UserName = "admin@contoso.onmicrosoft.com";
const string Password = "MyPassword";

ProjectServerCredentials credentials = new ProjectServerCredentials(SharepointDomainAddress, UserName, Password);
ProjectServerManager manager = new ProjectServerManager(credentials);
IEnumerable<ProjectInfo> list = manager.GetProjectList();

foreach (var info in list)
{
    Project project = manager.GetProject(info.Id);
    Console.WriteLine("{0} - {1} - {2}", info.Name, info.CreatedDate, info.LastSavedDate);
    Console.WriteLine("Resources count: {0}", project.Resources.Count);

    // 사용자는 프로젝트를 원시 데이터 스트림으로 읽을 수 있습니다.
    var stream = manager.GetProjectRawData(info.Id);

    // 원시 프로젝트 데이터로 작업
}

C#의 Project Online에서 프로젝트 만들기

다음은 Project Online에서 새 프로젝트를 만드는 단계입니다.

다음 코드 샘플은 C#의 Project Online에서 새 프로젝트를 만드는 방법을 보여줍니다.

string sharepointDomainAddress = "https://contoso.sharepoint.com";
string userName = "admin@contoso.onmicrosoft.com";
string password = "MyPassword";

ProjectServerCredentials credentials = new ProjectServerCredentials(sharepointDomainAddress, userName, password);

Project project = new Project("New Project.mpp");

ProjectServerManager manager = new ProjectServerManager(credentials);
manager.CreateNewProject(project);

.NET용 Aspose.Tasks에 대해 자세히 알아보기

문서에서 .NET용 Aspose.Tasks를 사용한 프로젝트 관리에 대해 자세히 알아볼 수 있습니다.