首页 > 解决方案 > EnvDTE - 以静默方式将文件添加到项目中

问题描述

我正在使用 EnvDTE 将项目和文件添加到现有解决方案中。我这样做:

SolutionFolder folder = GetExistingSolutionFolder(folderTree);
if(folder != null)
    folder.Parent.ProjectItems.AddFromFile(filePath);

没关系 GetExistingSolutionFolder。这一切都有效。但是......当我尝试将 .docx 文件添加到解决方案时,它确实被添加了,但它也在 MsWord 中打开。当我将 .rc 文件添加到解决方案时,它会根据 rc 文件中提供的文件进行检查。如果磁盘上没有文件,则会抛出一条消息。

所以,我的问题是 - 我可以以某种方式静默添加文件吗?没有在 MsWord 中自动打开 docx 或不检查 rc 文件?

标签: c#visual-studioenvdte

解决方案


根据您的描述,您想在项目中悄悄添加 .doc 文件。

我建议您使用 Microsoft.build。

您可以尝试以下代码来解决此问题。

    var p = new Microsoft.Build.Evaluation.Project(projectpath);
    p.AddItem("Compile", filepath);
    p.Save();

首先,您需要添加 Microsoft.build。

在此处输入图像描述

其次,projectpath 应该是这样的:D:\Test\TestAdditem\ConsoleApp1\ConsoleApp1.csproj.

第三,可以看到如下结果。

在此处输入图像描述


推荐阅读