MSBuild自定义任务未在Visual Studio 2013中触发
本文关键字:2013 Studio Visual 自定义 任务 MSBuild | 更新日期: 2023-09-27 18:15:33
在我的solution
中,我有一个单一类的项目:
using System.Windows;
using Microsoft.Build.Utilities;
namespace MetaCode
{
public class MsBuildTask : AppDomainIsolatedTask
{
public override bool Execute()
{
System.Threading.Tasks.Task.Run(() => MessageBox.Show("12345678"));
Log.LogMessage("12345678");
return true;
}
}
}
我将这个添加到另一个项目的csproj
文件中(现在我们称这个项目为"Genesis"):
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask TaskName="MetaCode.MsBuildTask" AssemblyFile="c:'temp'MetaCode.dll" />
...
<Target Name="AfterBuild">
<MetaCode.MsBuildTask />
</Target>
</Project>
但是当我在Visual Studio 2013 Pro中点击F5时,它可以很好地构建项目,但没有发生任何事情…没有MessageBox
显示"12345678"
,没有"12345678"
文本在"输出"面板在Visual Studio。我遗漏了什么?
(文件"c:'temp'MetaCode.dll"存在于该位置,这是上述"MetaCode"项目的输出文件)
-
首先,增加消息的篇幅:
Log.LogMessage(MessageImportance.High, "12345678");
并添加标准消息以确保:
<Target Name="AfterBuild">
<Message Text="About to run MsBuildTask" Importance="high" />
<MetaCode.MsBuildTask />
</Target>
使用任务管理器,杀死所有
MSBuild.exe
进程以清除所有以前版本的自定义任务。重建MSBuild任务
- 重建消费者项目并查看输出窗格。