以编程方式添加Visual Studio解决方案和项目

时间:2014-10-15 08:01:24

标签: c# visual-studio-2010 envdte visual-studio-project

我正在尝试生成Visual Studio 2010解决方案并从自定义模板中添加VS 2010项目!

我的要求: 1.生成VisualStudio解决方案2010,将其保存到文件夹,从我自己的模板添加VisualSTudio项目(我有3个不同的模板:ClassLibrary,WinForms,WCFService)

我的问题: 我实现了一半工作的东西!

  1. 正确创建解决方案,但" .sln"的内容文件很差!没有添加项目参考>

  2. 在根文件夹中,它还为C#Project创建了一个我不想要的解决方案。我只想要MainSolution文件。 (在我的情况下" TestSolution.sln")。如何停止为每个创建的项目创建解决方案文件?

  3. 在我使用的源代码下面:
    //为解决方案: enter image description here

    //添加项目 enter image description here

    我使用错误的界面吗? 为什么vs2010Solution.AddFromTemplate(..)在调用后返回null,但没有抛出异常?此外,项目在文件夹结构中正确创建!但是在运行时我无法检查项目列表" vs2010Solution.Projects"因为它是null! (正确添加项目后)。我需要添加项目,因为我需要以编程方式添加一些引用,我尝试在下一行中添加,但它不起作用,因为vs2010Projectnull)。

    所以我试图包装VisualStudio 2010自动化模型,创建解决方案并添加项目!但是真的没有用!我是否需要将EnvDTE.Project转换为" VSLangProj.Project"在某一点?我想为VS2010创建一个干净的包装器,之后是VS 2012! 非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

请参阅我的网站上的“关于自动化项目创建的文章”部分的几篇文章:

http://www.visualstudioextensibility.com/articles/add-ins/

他们解释了为什么AddFromTemplate方法返回null,如何创建解决方案,项目,解决方案文件夹中的项目,项目项等等。