2012-11-13 16 views
5

następujący kod:Kontrakty Kod w Mono

Contract.Requires<ArgumentException>(command != null, Resources.Messages.CommandNotSpecified); 

rozmowy

Contract.AssertMustUseRewriter (ContractFailureKind kind, System.String message) 

który wydaje się być powodowane przez nie konfigurowanie Kontrakty Kod w użyciu sprawdzanie umowy wykonawcze, jeśli były przy użyciu Visual Studio.

artykuł @http://devjourney.com/blog/code-contracts-part-2-preconditions/ oznacza, że ​​kod produkowane bez wykonywania sprawdzania skonfigurowany jest:

public static void Requires<TException>(bool condition) 
where TException: Exception 
{ 
    AssertMustUseRewriter(ContractFailureKind.Precondition, "Requires<TException>"); 
} 

Czy ktoś wie, co zrobić w MonoDevelop tak, że umowa działa zgodnie z oczekiwaniami?

Dokładna wyjątek Dostaję jest:

2012-11-13 23:33:24.815 StickX[339:c07] mvx: Diagnostic: 34.46 Exception masked NotImplementedException: The requested feature is not implemented. 
     at System.Environment.FailFast (System.String message) [0x00000] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/Environment.cs:821 
    at System.Diagnostics.Contracts.Contract.AssertMustUseRewriter (ContractFailureKind kind, System.String message) [0x00011] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Diagnostics.Contracts/Contract.cs:83 
    at System.Diagnostics.Contracts.Contract.Requires[ArgumentException] (Boolean condition, System.String userMessage) [0x00000] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Diagnostics.Contracts/Contract.cs:271 
+0

Mógłbyś to dokładnie wyjątek pan zobaczyć? – Chris

+1

Musisz użyć rozwieracza, który jest obecnie dostępny tylko w systemie Windows. Domyślam się, że jeśli naprawdę chcesz, możesz skompilować pod Mono, a następnie przetworzyć powstałe pliki wykonywalne za pomocą edytora, a następnie przenieść je z powrotem na platformę docelową. – porges

Odpowiedz

2

It's not implemented, więc jedyną rzeczą, aby ta praca byłaby dla ciebie pisać realizację. Mono jest projektem o otwartym kodzie źródłowym, zawsze chętnie bierze nowy wkład.