我试图通过代码契约获得VS2010 Ultimate以生成错误而不是警告.
我有这个简单的测试程序:
using System.Diagnostics.Contracts;
namespace MyError
{
public class Program
{
static void Main(string[] args)
{
Program prog = new Program();
prog.Log(null);
}
public void Log(string msg)
{
Contract.Requires(msg != null);
}
}
}
Run Code Online (Sandbox Code Playgroud)
它正确地确定违反了合同:
C:\...\Program.cs(10,13): warning : CodeContracts: requires is false: msg != null
Run Code Online (Sandbox Code Playgroud)
在我的csproj文件中有Debug的这个属性字段:
TreatWarningsAsErrors>true
我是否还需要在项目设置中设置其他内容才能将这些内容变为错误?