Wszystkie zainstalowane tutaj komputery dev mają zainstalowany DotNET 4.5. Ten ostatni ma zainstalowaną 4.0. Tylko ten z 4.0 generuje klasy pośredniczące, które implementują INotifyPropertyChange, wszystkie pozostałe komputery nie.SvcUtil/edb nie generuje INotifyPropertyChange, gdy zainstalowany jest DotNET 4.5.
Zgodnie z MSDN/edb jest obsługiwany. http://msdn.microsoft.com/en-us/library/aa347733(v=vs.110).aspx
Przełączniki używamy to:/O/ct/R/EDB/n/NOCONFIG/TCV
to generowany z komputera 4.0:
public partial class OrganizationEdition : MyCompany.MyProject.Client.Win.ServiceProxy.UpdateableEntity, System.ComponentModel.INotifyPropertyChanged
{
private string CommentField;
private System.DateTime ValidFromField;
private System.Nullable<System.DateTime> ValidToField;
[System.Runtime.Serialization.DataMemberAttribute()]
public string Comment
{
get
{
return this.CommentField;
}
set
{
if ((object.Equals(this.CommentField, value) != true))
{
this.CommentField = value;
this.RaisePropertyChanged("Comment");
}
}
}
To jest z 4.5 Komputer (z Windows SDK 7.0A):
public partial class OrganizationEdition : MyCompany.MyProject.Client.Win.ServiceProxy.UpdateableEntity
{
private string CommentField;
private System.DateTime ValidFromField;
private System.Nullable<System.DateTime> ValidToField;
[System.Runtime.Serialization.DataMemberAttribute()]
public string Comment
{
get
{
return this.CommentField;
}
set
{
this.CommentField = value;
}
}
Tworzenie szablonu proxy od podstaw nie jest banalne. Jeśli nie można znaleźć szablonu do użycia jako punktu wyjścia, użycie T4 naprawdę nie pomaga –
Nie chodzi o tworzenie nowych serwerów proxy od zera. Chodzi o stworzenie szablonu T4, który będzie wykorzystywał elementy Visual Studio, takie jak rozwiązania, projekty, pliki, aby znaleźć proxy i zmodyfikować ich implementację właściwości w czasie kompilacji poprzez refleksję, aby zaimplementować brakujące zmiany powiadomień. –
Byłem tam, wykonałem to, sparsowałem XSD, wygenerowałem pliki. Jeśli nie masz już szablonu, utworzenie go od zera potrwa kilka dni –