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

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

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

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

谢谢。

【问题讨论】:

    标签: .net visual-studio-2010 vsx vspackage


    【解决方案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
    • 不,那个电话不起作用。它期望在您提供的路径上提供一个项目。我刚刚想通了。看我上面的回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多