基于设计的方法是:新项目 - >其他项目类型 - > Visual Studio解决方案 - >空白解决方案
我必须在C#中以编程方式创建一个空白解决方案,并在此解决方案中添加新的空项目和文件。我在网上使用DTE发现了很多代码,但他们在现有的解决方案资源管理器中添加了我的空项目,所以请给我一些参考代码。
答案 0 :(得分: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的引用。您将获得的结果文件非常简单,可以通过其他方式创建(作为纯文本文件)。
答案 1 :(得分:0)
如果你真的只需要创建一个带有空项目文件的解决方案,那么编写.sln文件(它是纯文本文件)和.csproj文件可能要容易得多(它是一个手工编写XML MSBuild文件,而不是乱用Visual Studio自动化。
答案 2 :(得分:0)
手动创建一个空项目解决方案。用{n}替换项目/解决方案名称/其他特定数据,以便稍后使用string.Format填充它们。然后将这些文件(sln和csproj)嵌入到程序集中,并将它们用作资源。