在Microsoft Build Framework中使用自定义生成任务时出错

时间:2013-05-13 08:42:54

标签: c# .net msbuild msbuild-buildengine

我已经实现了一个自定义BuildTask并在其中设置了构建引擎。 但是在执行代码时,我得到了这个异常

Method not found: 'Void Microsoft.Build.Utilities.Task.set_BuildEngine(Microsoft
.Build.Framework.IBuildEngine)'.

可能的原因是什么?

2 个答案:

答案 0 :(得分:2)

您可能正在使用两个不同版本的Microsoft Build Framework(Microsoft.Build.Framework)。检查项目属性中的版本号以确保它们没有区别(例如我的问题 - 版本4.0.0.0和版本14.0.0.0)

答案 1 :(得分:0)

对我来说,当我将构建项目升级到使用Visual Studio 2015时,问题就出现了。正在测试的构建任务引用了安装到GAC(4.0.0.0。)中的<%@ Page Language="C#" %> <script runat="server"> void Button1_Click(Object sender, EventArgs e) { Label1.Text = "VALID NUMBER!"; } </script> <html> <head> <script language="JavaScript"> function validateNumber(oSrc, args) { args.IsValid = (args.Value % 5 == 0); } </script> </head> <body> <form runat="server"> <p> Number: <asp:TextBox id="TextBox1" runat="server"></asp:TextBox> &nbsp; <asp:CustomValidator id="CustomValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="Number must be divisible by 5" ClientValidationFunction="validateNumber"> </asp:CustomValidator> </p> <p> <asp:Button id="Button1" onclick="Button1_Click" runat="server" Text="Button"></asp:Button> </p> <p> <asp:Label id="Label1" runat="server"></asp:Label> </p> </form> </body> </html>。我必须设置Microsoft.Build.Framework以使用正在测试的程序集上的HintPath MSBuild 14版本以及测试程序集并修复问题。