2015-11-20 9 views
10

Nachdem Windows 10 Updates 1511 zu finden versuche ich mein vorhandenes Silverlight-Projekt erstellen und diesen FehlerSilverlight-Fehler Der Typ oder Namespace Name ‚MatchTimeoutInMilliseconds‘ kann nicht

Der Typ oder Namespace-Name ‚MatchTimeoutInMilliseconds‘ kann nicht sein gefunden (möglicherweise fehlt eine using-Direktive oder ein Assemblyverweis?) für Web-Projektdatei ProjectName.Web.g.cs erzeugt

[DataMember()] 
     [Display(Name="UserNameLabel", Order=0, ResourceType=typeof(RegistrationDataResources))] 
     [RegularExpression("^[a-zA-Z0-9_]*$", ErrorMessageResourceName="ValidationErrorInvalidUserName", ErrorMessageResourceType=typeof(ValidationErrorResources), MatchTimeoutInMilliseconds=-1)] 
     [Required(ErrorMessageResourceName="ValidationErrorRequiredField", ErrorMessageResourceType=typeof(ValidationErrorResources))] 
     [StringLength(255, ErrorMessageResourceName="ValidationErrorBadUserNameLength", ErrorMessageResourceType=typeof(ValidationErrorResources), MinimumLength=4)] 
     public string UserName 
     { 
      get 
      { 
       return this._userName; 
      } 
      set 
      { 
       if ((this._userName != value)) 
       { 
        this.OnUserNameChanging(value); 
        this.RaiseDataMemberChanging("UserName"); 
        this.ValidateProperty("UserName", value); 
        this._userName = value; 
        this.RaiseDataMemberChanged("UserName"); 
        this.OnUserNameChanged(); 
       } 
      } 
     } 

ich habe diesen Fehler nicht vor dem e Ich installiere Update 1511. Ich benutze Visual Studio 2015 Pro mit Update 1 jemand weiß, wie das zu beheben?

+0

Siehe relevante MSDN [thread] (https://social.msdn.microsoft.com/Forums/en-US/20e35456-996c-4193-adfc-79c5e90c22f0/the-type-ornamespace-name-matchtimeoutinmilliseconds- konnte nicht gefunden werden? forum = silverlightdevtools) –

+1

es war kein Windows 10 Update. Für mich war es ein VS2015 Update 1 auf einem Win7-Rechner. –

Antwort

2

Ok Ich habe eine "BAD" Abhilfe gefunden.

In der "Services/UserRegistrationService.cs" im Code project.web, Kommentar "" RegularExpression (...)] "für CreateUser, RegistrationData.UserName, RegistrationData.Email.

Von dem, was ich sagen kann, änderten sie das, warum der Code generiert wird. Wenn Sie ältere Kopien des generierten Codes haben, wird diese Eigenschaft nicht existieren.

können Sie hier nach dem laufenden Problem suchen. https://connect.microsoft.com/VisualStudio/feedback/details/2031887/generated-code-for-silverlight-references-matchtimeoutinmilliseconds-which-does-not-exist

2

Öffnen freigegeben RIA Service ein Update heute für diesen http://openriaservices.codeplex.com/workitem/84

+0

schien nichts zu tun. Schlechter Code wird weiterhin generiert. – maplemale

+0

Ich habe das Update auf das falsche Projekt angewendet ... Der generierte Code wurde aus einer DLL erstellt, die meinem Client vom Silverlight Enabled-Webprojekt zur Verfügung gestellt wurde. Musste fix auf dll anwenden, NICHT nur auf das Webprojekt. – maplemale

0

ich in das gleiche Problem lief den anderen Tag und das Projekt an dem ich arbeite noch System.ServiceModel.DomainServices mit und RIA Services öffnen nicht einmal migriert noch. Also musste ich mit einem anderen gültigen aber etwas längeren Ansatz gehen.

Was Sie tun müssen, ist eine CustomValidation Klasse erstellen, die eine statische Validierungsmethode

public class CustomValidator 
{ 
    public static ValidationResult IsNumberValid(int number, ValidationContext context) 
    { 
     ValidationResult result = ValidationResult.Success; 

     if(number > 100) //Only an example 
     { 
      return new ValidationResult("Number is too large.", new string[]{"Number"}); 
     } 
     return result; 
    } 
} 

nun in Metadaten-Klasse das CustomValidation Attribut zu Ihrem Unternehmen oder in diesem Fall in das Eigentum mit Ihrer Art hinzufügen, hat CustomValidator und der Methodenname IsNumberValid

[CustomValidation(typeof(CustomValidator), "IsNumberValid")] 
public int NumberToValidate {get; set;} 

hoffe, das hilft!

0

Nach der post auf der Microsoft-Website wird dies mit in .NET 4.6.2 gelöst werden.