2011-02-18 29 views
3

基于的设计方法是:新建项目 - >其他项目类型 - > Visual Studio解决方案 - >空白解决方案如何以编程方式在vs 2008中创建新的空白解决方案?

我要在C#编程方式创建一个空白的解决方案,在该方案中添加新的空项目和文件。我在网上发现了很多使用DTE的代码,但他们在现有的解决方案资源管理器中添加了我的空项目,所以请给我一些参考代码。

+0

您可以看看这个http://www.c-sharpcorner.com/UploadFile/tharakram/BuildDotNetSolution11162005052301AM/BuildDotNetSolution.aspx它展示了如何从命令行构建项目或解决方案。 – jon3laze 2011-02-18 05:40:57

回答

6

您可以使用DTE这样一个新的空白解决方案:

string visualStudioProgID = "VisualStudio.Solution.9.0"; 
Type solutionObjectType = System.Type.GetTypeFromProgID(visualStudioProgID, true); 
object obj = System.Activator.CreateInstance(solutionObjectType, true); 
Solution3 solutionObject = (Solution3)obj; 
solutionObject.Create(".", "MySolution"); 
solutionObject.SaveAs(@"C:\Temp\MySolution.sln"); //or wherever you prefer 

你必须引用添加到EnvDTE.dll,EnvDTE80.dll和EnvDTE90.dll。您将得到的结果文件非常简单,可以用其他方式创建(如纯文本文件)。

0

如果你真的只需要创建一个项目文件,它可能更容易只写.sln文件(这是一个纯文本文件)和.csproj的文件的解决方案(它是一个XML的MSBuild文件)手工操作比混乱Visual Studio自动化。

+0

josh Eistein,感谢您给我快速回复但我必须使用Visual Studio自动化以编程方式创建该解决方案。所以请给我代码。您的答复将不胜感激。再次感谢。 – user591790 2011-02-18 06:45:17

0

手动创建带空项目的解决方案。用{n}替换项目/解决方案名称/其他特定数据,以便稍后使用string.Format填充它们。然后将这些文件(sln和csproj)嵌入到程序集中,并将它们用作资源。

相关问题