2013-06-05 5 views
5

프로그래밍 방식으로 프로젝트 항목을 만들려고합니다. 이 코드를Visual Studio : 프로그래밍 방식으로 프로젝트 디렉터리에 프로젝트 항목 만들기

  string itemPath = currentSolution.GetProjectItemTemplate("ScreenTemplate.zip", "csproj"); 
     currentSolution.Projects.Item(1).ProjectItems.AddFromTemplate(itemPath, name); 
     currentSolution.Projects.Item(1).Save(); 

을하지만 (이 프로젝트의 루트에있는 항목을 만듭니다) 프로젝트 내부의 지정된 디렉토리에 항목을 만들 싶습니다. 가능한가? 도와 주셔서 감사합니다!

답변

1

대략 어떻게하면 내 cpp 파일을 추가 할 수 있으며, 귀하의 경우에는 다르지 않아야합니다.

코드는 프로젝트의 "SourceFiles \ SomeFolder"및 프로젝트 뷰 트리의 "Source Files"폴더에 파일을 추가합니다 (이미 있어야합니다).

Project project = null; // you should get the project from the solution or as active project or somehow else 
string fileName = "myFileName.cpp"; 
string fileRelativePath = "SourceFiles\\SomeFolder\\" + fileName; 

// First see if the file is already there and delete it (to create an empty one) 
string fileFullPath = Path.GetDirectoryName(project.FileName) + "\\" + fileRelativePath; 
if (File.Exists(fileFullPath)) 
    File.Delete(fileFullPath); 

// m_applicationObject here is DTE2 or DTE2 
string templatePath = (m_applicationObject.Solution as Solution2).ProjectItemsTemplatePath(project.Kind); 

ProjectItem folderItem = project.ProjectItems.Item("Source Files"); 
ProjectItem myFileItem = folderItem.ProjectItems.AddFromTemplate(templatePath + "/newc++file.cpp", fileRelativePath); 

코드가 즉시 컴파일되고 실행될 것을 기대하지 마십시오. 유효하지 않은 상태에 대한 검사는 여기에서 수행되지 않습니다.