我已经实现了一个自定义BuildTask并在其中设置了构建引擎。 但是在执行代码时,我得到了这个异常
Method not found: 'Void Microsoft.Build.Utilities.Task.set_BuildEngine(Microsoft
.Build.Framework.IBuildEngine)'.
可能的原因是什么?
答案 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>
<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
版本以及测试程序集并修复问题。