如何以编程方式将文件添加到解决方案?

Posted

技术标签:

【中文标题】如何以编程方式将文件添加到解决方案?【英文标题】:How do I programmatically add a file to a Solution? 【发布时间】:2012-08-13 11:57:14 【问题描述】:

我正在开发一个 VS 包,我需要实现的部分功能是将文件添加到当前打开的解决方案的解决方案项中。

如果您右键单击解决方案并选择添加 > 现有项目,这与手动执行的操作完全相同。然后选择磁盘上的一个文件。

我仔细查看了 DTE 和 DTE2 接口,可以看到添加和操作项目的操作,但似乎没有任何添加单个文件的操作。

谢谢。

【问题讨论】:

【参考方案1】:

好的,我意识到我可以只记录一个宏来捕获操作,然后在 VS Macro IDE 中检查代码。

执行此操作所需的代码是。

DTE.ItemOperations.AddExistingItem(filePath);

【讨论】:

如何在 vstemplate 中实际传递文件?有可能吗? @tofutim 我不确定您的评论到底在问什么。这个问题与 VS Templates 没有任何关系。也许您需要开始自己的具体问题?【参考方案2】:

为此,您需要访问项目的ProjectItems 成员并调用AddFromFile()

ProjectItem pi = project.ProjectItems.AddFromFile(filePath);

【讨论】:

感谢您的回复。我正在尝试将项目添加到解决方案而不是特定项目 解决方案也有AddFromFile 不,那个电话不起作用。它期望在您提供的路径上提供一个项目。我刚刚想通了。见我上面的回答。【参考方案3】:

您需要将AddFromFile 加入ProjectItems 集合中的Project

http://msdn.microsoft.com/en-us/library/envdte.projectitems.addfromfile(v=vs.100).aspx

编辑:

要添加到解决方案,AddFromFile 反对 Solution

【讨论】:

感谢您的回复。我正在尝试将项目添加到解决方案而不是特定项目 然后针对Solution调用AddFromFile 不,那个电话不起作用。它期望在您提供的路径上提供一个项目。我刚刚想通了。看我上面的回答。

以上是关于如何以编程方式将文件添加到解决方案?的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式将子视图添加到 UICollectionView

以编程方式将图像添加到Word文档

如何使用 Graph API 以编程方式将事件添加到页面?

以编程方式添加 ODR 资源

以编程方式将 sql 文件包含到 SQL 数据库项目中

如何以编程方式将 JS 和 CSS 资源添加到 <h:head>