2014-06-18 114 views
0

當客戶創建新的工作空間時,我生成了一堆文件,我想將它們添加到現有項目文件中是什麼最佳方式?如何將文件動態添加到構建(.csproj)文件

標準:它需要在Visual Studio中的工作,它需要在獨立工作建立

// get the project file ... 
var projectfile = Directory.GetFiles(Requested.Workspace.AppRoot, "*.csproj", SearchOption.AllDirectories).Single(); 
var project = new Project(projectfile); 

// add generated items ... 
foreach (var item in Requested.Manifest.Items) 
{ 
    project.Items.Add(new ProjectItem(item.Info.FullName,"??")); 
} 

if (!project.Build()) 
{ 
    Console.ReadLine(); 
} 

幫助的人?

+0

你可以用'EnvDTE.dll'。更多信息在http://stackoverflow.com/questions/18020062/how-to-add-an-existing-item-to-a-project-programmatically –

+0

我生成獨立於Visual Studio的文件,所以我沒有EnvDTE可用。 –

+0

也許我在這裏的答案可以幫助你:http://stackoverflow.com/questions/13867117/how-to-add-a-linked-file-to-a-csproj-file-with-msbuild-3-5-framework – granadaCoder

回答

0

您可以創建一個.cs文件,並將所有填充內容作爲方法明智地添加到它們中,並根據工作空間調用特定的函數。

If(workspace 1) 
{ 
// call file1Method() 
} 

同其他

+0

呃什麼?對不起,我不明白你的意思嗎? –