Old forum URL: forums.lhotka.net/forums/t/12900.aspx

wilfreds posted on Wednesday, June 10, 2015

Yes, that's true. But don't want to set the bar too high.

Opened the Csla.winrt solution. Created a new project of type "Empty Class Library (C#/XAML for HTML5) named Csla.CSHTML5. Changed the namespace to "Csla" Added conditional symbol SILVERLIGHT. Copied all the files and linked files from Csla.Silverlight project by editing the Csla.CSHTML5.csproj in a text editor.

Ended up with errors as expected. A lot of them them ambiguous reference between 'System.NonSerializedAttribute' and 'Csla.Serialization.NonSerializedAttribute' and between 'System.SerializableAttribute' and 'Csla.Serialization.SerializableAttribute'. That I don't know how to get rid of.

Browsing the project looking at the using statements I can see that these are missing:
using System.ComponentModel.DataAnnotations;
using System.Net.Http;
using System.Text.RegularExpressions;
using System.Xml.Linq;

Also I noticed that IEditableObject, INotifyDataErrorInfo, INotifyPropertyChanging, System.ComponentModel.BackgroundWorker, DoWorkEventHandler, RunWorkerCompletedEventHandler, ProgressChangedEventHandler, System.ComponentModel.AsyncCompletedEventArgs, XmlDictionaryReader, DataContractSerializer, LinkedList
 was missing.



RockfordLhotka replied on Wednesday, June 10, 2015

The serialization related issues would occur if they actually have the Serializable and NonSerialized attributes in their implementation (something Silverlight doesn't have).

DataAnnotations don't exist on all platforms (Xamarin for example) so CSLA actually includes its own implementation for those platforms. If these guys don't have it that shouldn't be an issue, as we can pull in our existing implementation.

The other missing stuff looks like something that could be overcome either by having them implement the components, or by having CSLA implement them for this platform.

wilfreds replied on Thursday, June 11, 2015

Thanks. Removing NonSerializedAttribute.cs and SerializationAttribute.cs, and adding the DataAnnotations folder helped a lot. If I close all files and do a rebuild it will tell me that I have 55 errors.

Regular expressions is also next on the list that they plan to implement.


RockfordLhotka replied on Thursday, June 11, 2015

I believe regex is used in just one rule in Csla.Rules, so you could eliminate that with a compiler directive.

Copyright (c) Marimer LLC