1

我正在尝试了解Microsoft Code Contracts库的方法,并且我具有以下简单功能:

internal static Engine CreateBuildEngine(Microsoft.Build.Framework.ILogger logger)
{
    Contract.Requires( logger != null );

    var engine = new Engine { DefaultToolsVersion = "3.5" };
    engine.RegisterLogger(logger);
    return engine;
}

尝试编译时,contracts 静态编译器会抛出以下警告消息:

warning : contracts: Assembly load resulted in metadata import 'Could not resolve member reference: Microsoft.Build.BuildEngine.Engine::set_DefaultToolsVersion.'

然后立即放弃(并且不尝试进行任何进一步的合同处理)。如果我删除设置的代码,DefaultToolsVersion则合同验证程序可以正常工作,但这毫无意义,因为它会导致代码不正确。

我在谷歌上找不到任何提及...有什么方法可以解决这个问题,还是只是合同库中的一个错误?(诚​​然,它处于预发布状态)

谢谢

4

0 回答 0