SPRNET-1320
Section added describing In-Proc SxS support for .NET 4 in Spring.NET 1.3.1 (and later, until this changes)
This commit is contained in:
@@ -1,148 +1,182 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
/*
|
||||
* Copyright 2002-2008 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
-->
|
||||
<chapter xml:id="migration" xmlns="http://docbook.org/ns/docbook" version="5">
|
||||
<title>Migrating from 1.1 M2</title>
|
||||
|
||||
<sect1 xml:id="M2RC1-introduction">
|
||||
<title>Introduction</title>
|
||||
|
||||
<para>Several API changes were made after 1.1 M2 (before 1.1 RC1)due
|
||||
primarily by the need to refactor the code base to remove circular
|
||||
dependency cycles, which are now all removed. Class and schema name
|
||||
changes were also made to provide a more consistent naming convention
|
||||
across the codebase. As a result of these changes, you can not simply drop
|
||||
in the new .dlls as you may have done in previous release. This document
|
||||
serves as a high level guide to the most likely areas where you will need
|
||||
to make changes to either your configuration or your code.</para>
|
||||
|
||||
<para>The file, BreakingChanges-1.1.txt, in the root directory of the
|
||||
distribution contains the full listing of breaking changes made for RC1
|
||||
and higher</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="migration-changes">
|
||||
<title>Important Changes</title>
|
||||
|
||||
<para>This section covers the common areas were you will need to make
|
||||
changes in code/configuration when migration from M2 to RC1or
|
||||
higher.</para>
|
||||
|
||||
<sect2>
|
||||
<title>Namespaces</title>
|
||||
|
||||
<para>Note: If you previously installed Spring .xsd files to your VS.NET
|
||||
installation directory, remove them manually, and copy over the new
|
||||
ones, which have the -1.1.xsd suffix.</para>
|
||||
|
||||
<para>The names of the section handlers to register custom schemas has
|
||||
changed, from ConfigParsersSectionHandler to
|
||||
<literal>NamespaceParsersSectionHandler</literal>.</para>
|
||||
|
||||
<para>The target namespaces have changed, the 'directory' named /schema/
|
||||
has been removed. For example, the target schema changed from
|
||||
http://www.springframework.net/schema/tx to
|
||||
<literal>http://www.springframework.net/tx.</literal></para>
|
||||
|
||||
<para>A typical declaration to use custom schemas within your
|
||||
configuration file looks like this</para>
|
||||
|
||||
<programlisting language="myxml"><objects xmlns='http://www.springframework.net'
|
||||
xmlns:db="http://www.springframework.net/database"
|
||||
xmlns:tx="http://www.springframework.net/tx"
|
||||
xmlns:aop="http://www.springframework.net/aop"></programlisting>
|
||||
|
||||
<para>The class <literal>XmlParserRegistry</literal> was renamed to
|
||||
<literal>NamespaceParserRegistry</literal>.</para>
|
||||
|
||||
<para>Renamed
|
||||
<literal>Spring.Validation.ValidationConfigParser</literal> to
|
||||
<literal>Spring.Validation.Config.ValidationNamespaceParser</literal></para>
|
||||
|
||||
<para>Renamed from <literal>DatabaseConfigParser</literal> to
|
||||
<literal>DatabaseNamespaceParser</literal></para>
|
||||
|
||||
<para>Renamed/Moved <literal>Remoting.RemotingConfigParser</literal>
|
||||
to
|
||||
<literal>Remoting.Config.RemotingNamespaceParser</literal><parameter></parameter></para>
|
||||
|
||||
<para>A typical registration of custom parsers within your configuration
|
||||
file looks like this</para>
|
||||
|
||||
<programlisting language="myxml"><configuration>
|
||||
|
||||
<configSections>
|
||||
<sectionGroup name="spring">
|
||||
<section name="parsers" type="Spring.Context.Support.NamespaceParsersSectionHandler, Spring.Core"/>
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
|
||||
<spring>
|
||||
<parsers>
|
||||
<parser type="Spring.Aop.Config.AopNamespaceParser, Spring.Aop" />
|
||||
<parser type="Spring.Data.Config.DatabaseNamespaceParser, Spring.Data" />
|
||||
<parser type="Spring.Transaction.Config.TxNamespaceParser, Spring.Data" />
|
||||
</parsers>
|
||||
</spring></programlisting>
|
||||
|
||||
<para>A manual registration would look like this</para>
|
||||
|
||||
<programlisting language="csharp">NamespaceParserRegistry.RegisterParser(typeof(AopNamespaceParser));
|
||||
NamespaceParserRegistry.RegisterParser(typeof(DatabaseNamespaceParser));
|
||||
NamespaceParserRegistry.RegisterParser(typeof(TxNamespaceParser));
|
||||
</programlisting>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Core</title>
|
||||
|
||||
<para>Moved Spring.Util.DynamicReflection to
|
||||
Spring.Reflection.Dynamic</para>
|
||||
|
||||
<para>Moved TypeRegistry and related classes from Spring.Context.Support
|
||||
to Spring.Core.TypeResolution</para>
|
||||
|
||||
<para>Moved Spring.Objects.TypeConverters to
|
||||
Spring.Core.TypeConvesion</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Web</title>
|
||||
|
||||
<para>Moved Spring.Web.Validation to Spring.Web.UI.Validation</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Data</title>
|
||||
|
||||
<para>Changed schema to use 'provider' instead of 'dbProvider' element,
|
||||
usage is now <db:provider ... /> and not <db:dbProvider
|
||||
.../></para>
|
||||
|
||||
<para>Moved TransactionTemplate, TransactionDelegate and
|
||||
ITransactionCallback from Spring.Data to Spring.Data.Support</para>
|
||||
|
||||
<para>Moved AdoTemplate, AdoAccessor, AdoDaoSupport,
|
||||
RowMapperResultSetExtractor from Spring.Data to Spring.Data.Core</para>
|
||||
|
||||
<para>Moved AdoPlatformTransactionManager,
|
||||
ServiceDomainPlatformTransactionManager, and TxScopeTransactionManager
|
||||
from Spring.Data to Spring.Data.Core</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
</chapter>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
/*
|
||||
* Copyright 2002-2008 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
-->
|
||||
<chapter version="5" xml:id="migration" xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:ns6="http://www.w3.org/1999/xlink"
|
||||
xmlns:ns5="http://www.w3.org/1999/xhtml"
|
||||
xmlns:ns4="http://www.w3.org/2000/svg"
|
||||
xmlns:ns3="http://www.w3.org/1998/Math/MathML"
|
||||
xmlns:ns="http://docbook.org/ns/docbook">
|
||||
<title>Migrating from 1.1 M2</title>
|
||||
|
||||
<sect1 xml:id="M2RC1-introduction">
|
||||
<title>Introduction</title>
|
||||
|
||||
<para>Several API changes were made after 1.1 M2 (before 1.1 RC1)due
|
||||
primarily by the need to refactor the code base to remove circular
|
||||
dependency cycles, which are now all removed. Class and schema name
|
||||
changes were also made to provide a more consistent naming convention
|
||||
across the codebase. As a result of these changes, you can not simply drop
|
||||
in the new .dlls as you may have done in previous release. This document
|
||||
serves as a high level guide to the most likely areas where you will need
|
||||
to make changes to either your configuration or your code.</para>
|
||||
|
||||
<para>The file, BreakingChanges-1.1.txt, in the root directory of the
|
||||
distribution contains the full listing of breaking changes made for RC1
|
||||
and higher</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="migration-changes">
|
||||
<title>Important Changes</title>
|
||||
|
||||
<para>This section covers the common areas were you will need to make
|
||||
changes in code/configuration when migration from M2 to RC1or
|
||||
higher.</para>
|
||||
|
||||
<sect2>
|
||||
<title>Namespaces</title>
|
||||
|
||||
<para>Note: If you previously installed Spring .xsd files to your VS.NET
|
||||
installation directory, remove them manually, and copy over the new
|
||||
ones, which have the -1.1.xsd suffix.</para>
|
||||
|
||||
<para>The names of the section handlers to register custom schemas has
|
||||
changed, from ConfigParsersSectionHandler to
|
||||
<literal>NamespaceParsersSectionHandler</literal>.</para>
|
||||
|
||||
<para>The target namespaces have changed, the 'directory' named /schema/
|
||||
has been removed. For example, the target schema changed from
|
||||
http://www.springframework.net/schema/tx to
|
||||
<literal>http://www.springframework.net/tx.</literal></para>
|
||||
|
||||
<para>A typical declaration to use custom schemas within your
|
||||
configuration file looks like this</para>
|
||||
|
||||
<programlisting language="myxml"><objects xmlns='http://www.springframework.net'
|
||||
xmlns:db="http://www.springframework.net/database"
|
||||
xmlns:tx="http://www.springframework.net/tx"
|
||||
xmlns:aop="http://www.springframework.net/aop"></programlisting>
|
||||
|
||||
<para>The class <literal>XmlParserRegistry</literal> was renamed to
|
||||
<literal>NamespaceParserRegistry</literal>.</para>
|
||||
|
||||
<para>Renamed
|
||||
<literal>Spring.Validation.ValidationConfigParser</literal> to
|
||||
<literal>Spring.Validation.Config.ValidationNamespaceParser</literal></para>
|
||||
|
||||
<para>Renamed from <literal>DatabaseConfigParser</literal> to
|
||||
<literal>DatabaseNamespaceParser</literal></para>
|
||||
|
||||
<para>Renamed/Moved <literal>Remoting.RemotingConfigParser</literal> to
|
||||
<literal>Remoting.Config.RemotingNamespaceParser</literal><parameter></parameter></para>
|
||||
|
||||
<para>A typical registration of custom parsers within your configuration
|
||||
file looks like this</para>
|
||||
|
||||
<programlisting language="myxml"><configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="spring">
|
||||
<section name="parsers" type="Spring.Context.Support.NamespaceParsersSectionHandler, Spring.Core"/>
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
|
||||
<spring>
|
||||
<parsers>
|
||||
<parser type="Spring.Aop.Config.AopNamespaceParser, Spring.Aop" />
|
||||
<parser type="Spring.Data.Config.DatabaseNamespaceParser, Spring.Data" />
|
||||
<parser type="Spring.Transaction.Config.TxNamespaceParser, Spring.Data" />
|
||||
</parsers>
|
||||
</spring></programlisting>
|
||||
|
||||
<para>A manual registration would look like this</para>
|
||||
|
||||
<programlisting language="csharp">NamespaceParserRegistry.RegisterParser(typeof(AopNamespaceParser));
|
||||
NamespaceParserRegistry.RegisterParser(typeof(DatabaseNamespaceParser));
|
||||
NamespaceParserRegistry.RegisterParser(typeof(TxNamespaceParser));
|
||||
</programlisting>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Core</title>
|
||||
|
||||
<para>Moved Spring.Util.DynamicReflection to
|
||||
Spring.Reflection.Dynamic</para>
|
||||
|
||||
<para>Moved TypeRegistry and related classes from Spring.Context.Support
|
||||
to Spring.Core.TypeResolution</para>
|
||||
|
||||
<para>Moved Spring.Objects.TypeConverters to
|
||||
Spring.Core.TypeConvesion</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Web</title>
|
||||
|
||||
<para>Moved Spring.Web.Validation to Spring.Web.UI.Validation</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Data</title>
|
||||
|
||||
<para>Changed schema to use 'provider' instead of 'dbProvider' element,
|
||||
usage is now <db:provider ... /> and not <db:dbProvider
|
||||
.../></para>
|
||||
|
||||
<para>Moved TransactionTemplate, TransactionDelegate and
|
||||
ITransactionCallback from Spring.Data to Spring.Data.Support</para>
|
||||
|
||||
<para>Moved AdoTemplate, AdoAccessor, AdoDaoSupport,
|
||||
RowMapperResultSetExtractor from Spring.Data to Spring.Data.Core</para>
|
||||
|
||||
<para>Moved AdoPlatformTransactionManager,
|
||||
ServiceDomainPlatformTransactionManager, and TxScopeTransactionManager
|
||||
from Spring.Data to Spring.Data.Core</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1>
|
||||
<title>Support for .NET 4</title>
|
||||
|
||||
<para>Beginning with the 1.3.1 release of Spring.NET, initial
|
||||
compatibility with the .NET 4 Common Language Runtime (CLR) is provided
|
||||
via the .NET 4 Framework's support for In-Process Side-by-Side deployment
|
||||
of .NET assemblies. This approach is typically refered to as
|
||||
<emphasis>In-Proc SxS</emphasis>.</para>
|
||||
|
||||
<note>
|
||||
<para>For more information on the In-Process Side-by-Side support
|
||||
introduced into the .NET 4 Framework, see the MSDN Magazine article
|
||||
located here:
|
||||
<uri>http://msdn.microsoft.com/en-us/magazine/ee819091.aspx</uri>
|
||||
</para>
|
||||
</note>
|
||||
|
||||
<para><emphasis>In-Prox SxS</emphasis> permits applicaitons that target
|
||||
the .NET 4 Framework (and later) to reference and execute assemblies that
|
||||
target earlier versions of the .NET Framework CLR transparently within the
|
||||
same process space. By using this approach, Spring.NET ensures maximum
|
||||
backwards-compatibility with prior .NET Framework releases.</para>
|
||||
|
||||
<para>Subsequent releases of Spring.NET will be compiled to target the
|
||||
.NET 4 Framework directly but during this transition period where
|
||||
significant users are using Spring.NET to target pre-.NET 4 applications
|
||||
while at the same time other users are beginning to target the .NET 4
|
||||
Framework CLR, supporting <emphasis>In-Proc SxS</emphasis> will permit
|
||||
maximum flexibility for Spring.NET users.</para>
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
Reference in New Issue
Block a user