Ottenere Code Contracts per lavorare in Visual Studio 2010
-
20-09-2019 - |
Domanda
Ho il seguente codice:
class Program
{
static void Main(string[] args)
{
Console.WriteLine(SqrtRoot(0));
Console.WriteLine(SqrtRoot(10));
Console.WriteLine(SqrtRoot(-10));
Console.ReadKey();
}
public static int SqrtRoot(int i)
{
Contract.Requires(i >= 0);
return (int)Math.Sqrt(i);
}
}
Sono in esecuzione in modalità di debug, e dovrebbe sparare qualche tipo di errore nell'ultima riga
Console.WriteLine(SqrtRoot(-10));
ospitarci, per qualche motivo, non è così. Sembra ignorare i Contract.Requires) chiamata (. Devo creare qualcosa quando si cerca di utilizzare contratti di codice?
Sto usando Visual Studio 2010 RC.
Grazie
Soluzione
Non ho quella scheda sia ma ho trovato una soluzione:
Contract.Requires<ArgumentOutOfRangeException>(i >= 0);
Probabilmente il pacchetto di contratti di codice deve essere installato, ma il link per il download non funziona. http://msdn.microsoft.com/en-us/devlabs/dd491992. aspx
Altri suggerimenti
È necessario installare l'integrazione di Visual Studio. Mentre la biblioteca CodeContracts stessa è parte di NET 4, il codice deve essere riscritto dal Codice Contratti masterizzatore (ccrewrite
) utilizzare effettivamente la libreria in modo corretto.
Scarica il programma di installazione dal DevLabs sito .
Credo che bisogna attivare il controllo nelle impostazioni del progetto del contratto di esecuzione (ci dovrebbe essere un riquadro "I contratti Codice" ...)
Vedere la utente documentazione (sezione 6) per ulteriori informazioni.