Project structure and 4.0 RC (0 and 1)

Project structure and 4.0 RC (0 and 1)

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


cds posted on Tuesday, July 20, 2010

I'm a little confused - I've downloaded and installed RC0 and now RC1.

I'm trying to set up a new CSLA Silverlight project from scratch. I have the following structure:

Solution

As I understand it, I should have the following references:

However, in the installed version of RC0 and RC1 there is no Binn\Debug\Server\Csla.dll - only the following:

Where do I find Csla.dll for the server?

OK, in researching this post, I think I've answered my own question!

It turns out that the server's Csla.dll is the same as the Csla.dll in the Client folder. At least it works for me. Though it is confusing.

Why is this? Is it an MSI packaging issue?

Hopefully this will help somebody else setting up a project from scratch.

Cheers,

Craig

MichaelBBonner replied on Tuesday, July 20, 2010

The Client folder corresponds to the files that can run under the .NET 4.0 "Client" profile, which is a subset of the full .NET 4.0 redistributable that includes the most common assemblies required by client type applications.  The Server folder corresponds to the CSLA components that require the full .NET 4.0 redistributable assemblied to run.  These will usually be services/web-apps running on in a full server environment.

From the changelog:

Solution structure (091105, 091203) Breaking change (build)

http://www.lhotka.net/cslabugs/edit_bug.aspx?id=629

http://www.lhotka.net/cslabugs/edit_bug.aspx?id=661

Rearrange the solution structure and svn repository structure as follows:

 

\Bin\...

\Samples\CslaNet\...

\Samples\CslaLight\...

\Source\Csla.client\...

\Source\Csla.core\...

\Source\Csla.Silverlight\...

\Source\Csla.Silverlight.test\...

\Source\Csla.test\...

\Source\Csla.Web\...

\Source\Csla.Web.Mvc\...

\Source\Csla.Windows\...

\Source\Csla.Xaml\...

\Source\Dependencies\...

 

This puts the server/core (full .NET), client (.NET client profile) and Silverlight projects as top-level elements in the source folder, and arranges the samples folder as a peer. It also puts the UX technologies in their own assemblies per-technology.

 

There’s also a top-level csla.all.sln file that opens all three source projects so it is easy to open and build all three flavors of CSLA .NET.

 

And a csla.test.sln file that opens the CSLA .NET for Windows projects with the corresponding unit test projects.

cds replied on Tuesday, July 20, 2010

OK, so you're saying that because Csla.dll can run in the .NET 4.0 client profile that's the reason it's in that folder.

I understand the reasoning now, though it is a little confusing.

RockfordLhotka replied on Tuesday, July 20, 2010

To be clear, there are two Csla.dll files: Silverlight and Client. The fact that it also ends up in Server is just because of the Visual Studio build process and the reality that Csla.Web.dll and Csla.Web.Mvc.dll have a dependency on Csla.dll.

But there are exactly two Csla.dll files: Silverlight and Client.

Copyright (c) Marimer LLC