2015-11-20 19 views
10

Dopo che Windows 10 aggiornamento 1511 cerco di costruire il mio progetto Silverlight esistenti e ottenere questo erroreerrore Silverlight Il tipo o dello spazio dei nomi il nome 'MatchTimeoutInMilliseconds' non è stato trovato

Il tipo o dello spazio dei nomi il nome 'MatchTimeoutInMilliseconds' non potrebbe essere trovato (le manca un un riferimento all'assembly direttiva using o?) per ProjectName.Web.g.cs file web progetto generato

[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(); 
       } 
      } 
     } 

non ho questo errore befor e installo l'aggiornamento 1511. Uso Visual Studio 2015 pro con l'aggiornamento 1 qualcuno sa come risolvere questo problema?

+0

Vedere MSDN [thread] rilevante (https://social.msdn.microsoft.com/Forums/en-US/20e35456-996c-4193-adfc-79c5e90c22f0/the-type-or-namespace-name-matchtimeoutinmilliseconds- could-not-be-found? forum = silverlightdevtools) –

+1

non era un aggiornamento di Windows 10. Per me è stato un aggiornamento VS2015 1 su una macchina Win7. –

risposta

2

Ok ho trovato una soluzione "BAD".

In "Servizi/UserRegistrationService.cs" nel codice project.web, commentare "[RegularExpression (...)]" per CreateUser, RegistrationData.UserName, RegistrationData.Email.

Da quello che posso dire hanno cambiato il motivo per cui il codice viene generato. Se hai copie più vecchie del codice generato, troverai che questa proprietà non esiste.

puoi guardare qui per il problema in corso. https://connect.microsoft.com/VisualStudio/feedback/details/2031887/generated-code-for-silverlight-references-matchtimeoutinmilliseconds-which-does-not-exist

2

Aprire RIA Servizi rilasciato una correzione per questo oggi http://openriaservices.codeplex.com/workitem/84

+0

Non sembra fare niente. Il codice errato è ancora generato. – maplemale

+0

Ho applicato la correzione al progetto sbagliato ... il codice generato è stato creato da una DLL che è stata esposta al mio client dal progetto Web Silverlight Enabled. Dovevo applicare la correzione a dll, NON solo il progetto web. – maplemale

0

Ho incontrato lo stesso problema, l'altro giorno e il progetto sto lavorando è ancora utilizzando System.ServiceModel.DomainServices e non ha nemmeno la migrazione a Open RIA Servizi ancora. Quindi ho dovuto seguire un altro approccio valido ma un po 'più lungo.

Quello che dovete fare è creare una classe CustomValidation che ha un metodo di validazione statica

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; 
    } 
} 

Ora in te classe di metadati aggiungere l'attributo CustomValidation al vostro soggetto o in questo caso nella proprietà con il tipo CustomValidator e il nome del metodo IsNumberValid

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

Spero che questo aiuti!

0

Secondo lo post sul sito Microsoft, questo verrà risolto con .NET 4.6.2.

Problemi correlati