【问题标题】:Add programmatically Visual Studio Solution and Projects以编程方式添加 Visual Studio 解决方案和项目
【发布时间】:2014-10-15 08:01:23
【问题描述】:

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

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

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

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

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

下面是我使用的源代码:
//对于解决方案:

//添加项目

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

所以我正在尝试包装 VisualStudio 2010 自动化模型,以创建解决方案并添加项目!但是真的不行!我是否需要在某个时候将 EnvDTE.Project 转换为“VSLangProj.Project”?我想为 VS2010 创建一个干净的包装器,然后为 VS 2012 创建一个! 非常感谢任何帮助。

【问题讨论】:

  • 请提供文本代码而不是图片。
  • 你的代码截图?真的吗?

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


【解决方案1】:

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

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

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

【讨论】:

  • 谢谢卡洛斯,我解决了部分问题!现在我可以生成一个解决方案,为每个项目添加 4 个项目和 2 个引用(通过测试)。问题是在调试模式下运行测试时,一切正常!一旦我尝试运行源代码,它只会向解决方案中添加一个项目,然后就退出了!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-11
  • 1970-01-01
  • 2010-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多