CSLA 3.00 with .NET 2.0 - Problem compiling

CSLA 3.00 with .NET 2.0 - Problem compiling

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

ksavoie posted on Wednesday, January 19, 2011


We have .Net 2.0 and we are currently using CSLA 2.0.  We want to upgrade to CSLA 3.0 but I'm getting errors when I'm trying to build it.

It keeps giving me the error of things not defined.  (ie. Type 'OperationContract' is not defined. ,  Type 'DataMember' is not defined. , etc.) 

I also noticed that a lot of the references files are not available in my project. (ei PresentationCore, PresentationFramework, System.Printing, System.Runtime.Serialization, etc.).  I did some research and these reference files are available in Framework 3 only.  We cannot use Framework 3 for our project; it needs to be in Framework 2.

So my question is...  Is there a way to build the CSLA 3.0 without those references?  You say that version 3.0 can be used on Framework 2, why is it not working?  Do I need to install Framework 3 just to build CSLA 3.0?  And if I do that and remove Framework 3 from my workstation afterwards, will CSLA 3.0 still work?

Any help would be greatly appreciated.


JonnyBee replied on Wednesday, January 19, 2011


I downported CSLA 3.6 and 3.7 to .NET 2.0 SP1 and these versions is available here:


Using the N2 version it also should be quite easy to migrate code up until 3.8.x on .NET 3.5.

You must use .NET 2.0 SP1 (new reflection methods and more)  and VS2008 and will be able to use Linq2Objects (reimplemented in LinqBridge) as well as Func and Action delegates.


ksavoie replied on Thursday, January 20, 2011

Thanks for that, but we are using VS2005.  So I'm not sure if it would work.


JonnyBee replied on Thursday, January 20, 2011

VS2008 introduced multitargeting compiler and I would definitely move up to VS2008 IDE and use LinqBridge to get most of C# 3.0 sugar syntax while still compiling and running in .NET 2.0 (SP1).

We have now moved up to VS2010 and TFS 2010, R# 5.1.2. PowerCommands, Productivity Power Tools and more while still developing and supporting Windows Forms applications in .NET 2.0 (with ReportViewer 8).  VS2010 also has a much better builtin performance analysis profiling tool.

Our apps must still run on Win2000 clients - and that limits us to .NET 2.0.

RockfordLhotka replied on Wednesday, January 19, 2011


ksavoie replied on Thursday, January 20, 2011

Thanks Rocky


Copyright (c) Marimer LLC