背景
我正在制作一个帮助应用程序,它重新格式化一些代码文件并创建新的代码文件,这些文件将被添加到我的另一个项目中,所以我可以立即使用新代码,但是我在添加新代码文件时遇到了严重问题自动进入我的项目。顺便说一句,它在 c# 中,帮助应用程序是 WinForms。
失败的尝试
这个问题的唯一答案有两种方法可以做到这一点,但我无法让它们中的任何一个起作用。第一个我找不到Microsoft.Build
要引用的程序集,而另一个显然没有足够的命令行参数。
问题
如何在不使用第三方应用程序的情况下以编程方式将文件包含到项目中?
基本上,我正在寻找这样的等价物:
...但是使用代码完成。
要求
这些是我认为解决方案应该提供的功能:
- 选择包含我们要添加文件的项目的解决方案
- 选择要添加文件的项目
- 选择项目中的目录
- 当然,我们要添加的文件
进步
在用户@psubsee2003 的帮助下,我能够在我的计算机上的文件夹中找到该Microsoft.Build.dll
文件,并通过将我的项目的目标框架更改为版本 4 Full profileC:\Windows\Microsoft.NET\Framework\v4.0.30319
而成功导入它,而不是默认的客户端配置文件。
我发现了如何使用该AddItem
方法:
var p = new Microsoft.Build.Evaluation.Project(@"C:\projects\MyProject.csproj");
p.AddItem("Compile", @"C:\folder\file.cs");
p.Save();
该文件将出现在项目的根文件夹中,除非该项目已经有一个名为 的文件夹folder
,在这种情况下,该文件将被放置在那里。因此,基本上该文件将放置在原始文件路径中指向根文件夹的最深文件夹链中。