多亏了 Nate McMaster 的这篇精彩文章,我知道了如何将 .NET Core 控制台应用程序打包为 Nuget 包,自动将自身安装为(在本例中为预编译任务)构建任务。
为了测试是否一切正常,我只是让我的自定义工具写出一个公共 C# 类。
但是,我的自定义工具添加的文件实际上并不是构建的一部分(第一个实际生成文件的文件),因此引入的类在第一次构建后不在程序集中(请参见 此处的第 38 行)。但是,由于 .NET Core 项目现在自动将所有 .cs 文件包含在项目旁边,因此它将新类构建到后续构建的输出中(参见此处的第 57 行)。
生成的文件不会完全消失,但通常不会像 MSBuild 任务输出的那样。但是,因为 exec 发生在目标文件中,所以我们应该可以访问所有机制来实现这一点。所以我的问题是:
我如何正确执行自定义构建工具(控制台应用程序),该工具需要检查项目及其文件并生成源代码(最好在 obj/ 中作为<foo>.g.cs
单个构建的一部分编译到生成的程序集中?理想情况下,这生成的文件也不应出现在解决方案资源管理器中。
帮助!
炎炎设计
相关分类