我有自定义的MSBuild任务的库,我的编辑非常有规律,重构代码,添加新任务和删除旧的,已不存在的。它已经成为一个痛苦的编辑.Targets文件与什么是真正的在库同步,所以我想知道,这将是自动完成这个?

最好的办法

我想一个解决方案,该库运行后已成功建成,使试图从其他项目叫我的自定义任务时,我没有得到任何严重错误。

我有关于如何做到这一点的一些想法,但我想看看别人想出第一。 : - )

有帮助吗?

解决方案 2

好了,我已经找到了一种更好的方式使用的MSBuild社区任务TaskSchema实现这一目标任务:

<TaskSchema Assemblies="@(MyTaskAssembly)" 
            OutputPath="%(MyTaskAssembly.RootDir)%(MyTaskAssembly.Directory)" 
            CreateTaskList="true"
            IgnoreMsBuildSchema="true"
            Includes="Microsoft.Build.Commontypes.xsd"/>

我只是确保我已经导入了MSBuild.Community.Tasks.Targets文件,创建一个名为包含所有的我的任务组件(震惊)ItemGroupMyTaskAssembly,然后坚持上述任务调用在我的项目的AfterBuild目标。甜! :)

其他提示

您可能只包含你的任务引用一个单独的.targets文件。从一个侧面在主.targets文件链接。从另一个覆盖它执行一些其他“大师”自定义任务在任务的解决方案的您AfterBuild目标。这个“主人”的任务将得到执行,从新建的装配,并将它们写入.targets文件ITask所有类。结果 但说实话这看起来像矫枉过正我。你反正编辑您的.targets文件,以获得使用你的新任务。写这样一个“主”任务和支撑它可能需要更多的时间。

我可以幻想的几个自动化解决方案,但“时间投入” /“保存由于自动化时间”的考虑阻止了我的想象的飞行。 =)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top