PDA

View Full Version : SpringAssembliesDeployer


choenes
02-09-2006, 10:32 PM
I'm trying again to use the WebServiceExporter (located in Spring.Web.dll)
to export one of my objects and host it using Cassini.

This works but I've got some questions about the SpringAssembliesDeployer.

Should this SpringAssembliesDeployer be configurable? From all I can tell it's hard-coded to this:
private void CopySpringAssemblies (string privateSpringPath)
{
string windowsService = GetAssemblyDefiningType (typeof(ApplicationHost));
string logForNet = GetAssemblyDefiningType (typeof(ILog));
string core = GetAssemblyDefiningType (typeof(XmlObjectFactory));

Copy(windowsService, _pathToSpringBinaries, privateSpringPath);
Copy(logForNet, _pathToSpringBinaries, privateSpringPath);
Copy(core, _pathToSpringBinaries, privateSpringPath);

// TODO: copy dbg files?
}

I'd like to deploy Spring.Web.dll to the folder so I don't have to have it inside my /deploy/Cassini/bin/ folder alongside Cassini...

What do you guys think?

fspinazzi
02-13-2006, 04:56 PM
Tecnically Spring.Web.dll belongs to your application and is not required to windows service, so that it should be under the deploy/Cassini/bin/ directory togheter with you assemblies.

Windows service support only deploys the assemblies it needs and I'm against changing that.

If you are not satisfied with this, write your own deployer and configure it in service-process-definition.xml (I hope I remember the name correctly).

The problem of different Spring assembly versions remains open, however, even if this is not the subject of your post ...
Federico

Another option is to use the web.config file to configure the .NET probing path to include somethinh like deploy/Cassini/bin/spring: the problem is the AppDomain created by Cassini (with base dir in deploy/Cassini/bin/)and not the AppDomain created by windows service support (with base dir deploy/Cassini).