http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/IServices.cs
----------------------------------------------------------------------
diff --git 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/IServices.cs 
b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/IServices.cs
deleted file mode 100644
index fff25c3..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/IServices.cs
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-
-namespace Apache.Ignite.Core.Services
-{
-    using System.Collections.Generic;
-    using Apache.Ignite.Core.Cluster;
-    using Apache.Ignite.Core.Common;
-
-    /// <summary>
-    /// Defines functionality to deploy distributed services in the Ignite.
-    /// </summary>
-    public interface IServices : IAsyncSupport<IServices>
-    {
-        /// <summary>
-        /// Gets the cluster group to which this instance belongs.
-        /// </summary>
-        /// <value>
-        /// The cluster group to which this instance belongs.
-        /// </value>
-        IClusterGroup ClusterGroup { get; }
-
-        /// <summary>
-        /// Deploys a cluster-wide singleton service. Ignite guarantees that 
there is always
-        /// one instance of the service in the cluster. In case if Ignite node 
on which the service
-        /// was deployed crashes or stops, Ignite will automatically redeploy 
it on another node.
-        /// However, if the node on which the service is deployed remains in 
topology, then the
-        /// service will always be deployed on that node only, regardless of 
topology changes.
-        /// <para />
-        /// Note that in case of topology changes, due to network delays, 
there may be a temporary situation
-        /// when a singleton service instance will be active on more than one 
node (e.g. crash detection delay).
-        /// </summary>
-        /// <param name="name">Service name.</param>
-        /// <param name="service">Service instance.</param>
-        [AsyncSupported]
-        void DeployClusterSingleton(string name, IService service);
-
-        /// <summary>
-        /// Deploys a per-node singleton service. Ignite guarantees that there 
is always
-        /// one instance of the service running on each node. Whenever new 
nodes are started
-        /// within the underlying cluster group, Ignite will automatically 
deploy one instance of
-        /// the service on every new node.        
-        /// </summary>
-        /// <param name="name">Service name.</param>
-        /// <param name="service">Service instance.</param>
-        [AsyncSupported]
-        void DeployNodeSingleton(string name, IService service);
-
-        /// <summary>
-        /// Deploys one instance of this service on the primary node for a 
given affinity key.
-        /// Whenever topology changes and primary node assignment changes, 
Ignite will always
-        /// make sure that the service is undeployed on the previous primary 
node and deployed
-        /// on the new primary node.
-        /// <para />
-        /// Note that in case of topology changes, due to network delays, 
there may be a temporary situation
-        /// when a service instance will be active on more than one node (e.g. 
crash detection delay).
-        /// </summary>
-        /// <param name="name">Service name.</param>
-        /// <param name="service">Service instance.</param>
-        /// <param name="cacheName">Name of the cache on which affinity for 
key should be calculated, null for
-        /// default cache.</param>
-        /// <param name="affinityKey">Affinity cache key.</param>
-        [AsyncSupported]
-        void DeployKeyAffinitySingleton<TK>(string name, IService service, 
string cacheName, TK affinityKey);
-
-        /// <summary>
-        /// Deploys multiple instances of the service on the grid. Ignite will 
deploy a
-        /// maximum amount of services equal to <paramref name="totalCount" /> 
parameter making sure that
-        /// there are no more than <paramref name="maxPerNodeCount" /> service 
instances running
-        /// on each node. Whenever topology changes, Ignite will automatically 
rebalance
-        /// the deployed services within cluster to make sure that each node 
will end up with
-        /// about equal number of deployed instances whenever possible.
-        /// </summary>
-        /// <param name="name">Service name.</param>
-        /// <param name="service">Service instance.</param>
-        /// <param name="totalCount">Maximum number of deployed services in 
the grid, 0 for unlimited.</param>
-        /// <param name="maxPerNodeCount">Maximum number of deployed services 
on each node, 0 for unlimited.</param>
-        [AsyncSupported]
-        void DeployMultiple(string name, IService service, int totalCount, int 
maxPerNodeCount);
-
-        /// <summary>
-        /// Deploys instances of the service in the Ignite according to 
provided configuration.
-        /// </summary>
-        /// <param name="configuration">Service configuration.</param>
-        [AsyncSupported]
-        void Deploy(ServiceConfiguration configuration);
-
-        /// <summary>
-        /// Cancels service deployment. If a service with specified name was 
deployed on the grid, 
-        /// then <see cref="IService.Cancel"/> method will be called on it.
-        /// <para/>
-        /// Note that Ignite cannot guarantee that the service exits from <see 
cref="IService.Execute"/>
-        /// method whenever <see cref="IService.Cancel"/> is called. It is up 
to the user to
-        /// make sure that the service code properly reacts to cancellations.
-        /// </summary>
-        /// <param name="name">Name of the service to cancel.</param>
-        [AsyncSupported]
-        void Cancel(string name);
-
-        /// <summary>
-        /// Cancels all deployed services.
-        /// <para/>
-        /// Note that depending on user logic, it may still take extra time 
for a service to 
-        /// finish execution, even after it was cancelled.
-        /// </summary>
-        [AsyncSupported]
-        void CancelAll();
-
-        /// <summary>
-        /// Gets metadata about all deployed services.
-        /// </summary>
-        /// <returns>Metadata about all deployed services.</returns>
-        ICollection<IServiceDescriptor> GetServiceDescriptors();
-
-        /// <summary>
-        /// Gets deployed service with specified name.
-        /// </summary>
-        /// <typeparam name="T">Service type.</typeparam>
-        /// <param name="name">Service name.</param>
-        /// <returns>Deployed service with specified name.</returns>
-        T GetService<T>(string name);
-
-        /// <summary>
-        /// Gets all deployed services with specified name.
-        /// </summary>
-        /// <typeparam name="T">Service type.</typeparam>
-        /// <param name="name">Service name.</param>
-        /// <returns>All deployed services with specified name.</returns>
-        ICollection<T> GetServices<T>(string name);
-
-        /// <summary>
-        /// Gets a remote handle on the service. If service is available 
locally,
-        /// then local instance is returned, otherwise, a remote proxy is 
dynamically
-        /// created and provided for the specified service.
-        /// </summary>
-        /// <typeparam name="T">Service type.</typeparam>
-        /// <param name="name">Service name.</param>
-        /// <returns>Either proxy over remote service or local service if it 
is deployed locally.</returns>
-        T GetServiceProxy<T>(string name) where T : class;
-
-        /// <summary>
-        /// Gets a remote handle on the service. If service is available 
locally,
-        /// then local instance is returned, otherwise, a remote proxy is 
dynamically
-        /// created and provided for the specified service.
-        /// </summary>
-        /// <typeparam name="T">Service type.</typeparam>
-        /// <param name="name">Service name.</param>
-        /// <param name="sticky">Whether or not Ignite should always contact 
the same remote
-        /// service or try to load-balance between services.</param>
-        /// <returns>Either proxy over remote service or local service if it 
is deployed locally.</returns>
-        T GetServiceProxy<T>(string name, bool sticky) where T : class;
-
-        /// <summary>
-        /// Returns an instance with portable mode enabled.
-        /// Service method results will be kept in portable form.
-        /// </summary>
-        /// <returns>Instance with portable mode enabled.</returns>
-        IServices WithKeepPortable();
-        
-        /// <summary>
-        /// Returns an instance with server-side portable mode enabled.
-        /// Service method arguments will be kept in portable form.
-        /// </summary>
-        /// <returns>Instance with server-side portable mode enabled.</returns>
-        IServices WithServerKeepPortable();
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/ServiceConfiguration.cs
----------------------------------------------------------------------
diff --git 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/ServiceConfiguration.cs
 
b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/ServiceConfiguration.cs
deleted file mode 100644
index e91656f..0000000
--- 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/ServiceConfiguration.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-
-namespace Apache.Ignite.Core.Services
-{
-    using Apache.Ignite.Core.Cluster;
-
-    /// <summary>
-    /// Service configuration.
-    /// </summary>
-    public class ServiceConfiguration
-    {
-        /// <summary>
-        /// Gets or sets the service name.
-        /// </summary>
-        public string Name { get; set; }
-
-        /// <summary>
-        /// Gets or sets the service instance.
-        /// </summary>
-        public IService Service { get; set; }
-
-        /// <summary>
-        /// Gets or sets the total number of deployed service instances in the 
cluster, 0 for unlimited.
-        /// </summary>
-        public int TotalCount { get; set; }
-
-        /// <summary>
-        /// Gets or sets maximum number of deployed service instances on each 
node, 0 for unlimited.
-        /// </summary>
-        public int MaxPerNodeCount { get; set; }
-
-        /// <summary>
-        /// Gets or sets cache name used for key-to-node affinity calculation.
-        /// </summary>
-        public string CacheName { get; set; }
-
-        /// <summary>
-        /// Gets or sets affinity key used for key-to-node affinity 
calculation.
-        /// </summary>
-        public object AffinityKey { get; set; }
-
-        /// <summary>
-        /// Gets or sets node filter used to filter nodes on which the service 
will be deployed.
-        /// </summary>
-        public IClusterNodeFilter NodeFilter { get; set; } 
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/ServiceInvocationException.cs
----------------------------------------------------------------------
diff --git 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/ServiceInvocationException.cs
 
b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/ServiceInvocationException.cs
deleted file mode 100644
index fe83cbc..0000000
--- 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/ServiceInvocationException.cs
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-
-namespace Apache.Ignite.Core.Services
-{
-    using System;
-    using System.Runtime.Serialization;
-    using Apache.Ignite.Core.Common;
-    using Apache.Ignite.Core.Portable;
-
-    /// <summary>
-    /// Indicates an error during Grid Services invocation.
-    /// </summary>
-    [Serializable]
-    public class ServiceInvocationException : IgniteException
-    {
-        /** Serializer key. */
-        private const string KeyPortableCause = "PortableCause";
-
-        /** Cause. */
-        private readonly IPortableObject _portableCause;
-
-        /// <summary>
-        /// Initializes a new instance of the <see 
cref="ServiceInvocationException"/> class.
-        /// </summary>
-        public ServiceInvocationException()
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see 
cref="ServiceInvocationException"/> class.
-        /// </summary>
-        /// <param name="message">The message that describes the error.</param>
-        public ServiceInvocationException(string message) : base(message)
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see 
cref="ServiceInvocationException"/> class.
-        /// </summary>
-        /// <param name="message">The message.</param>
-        /// <param name="cause">The cause.</param>
-        public ServiceInvocationException(string message, Exception cause) : 
base(message, cause)
-        {
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see 
cref="ServiceInvocationException"/> class.
-        /// </summary>
-        /// <param name="message">The message.</param>
-        /// <param name="portableCause">The portable cause.</param>
-        public ServiceInvocationException(string message, IPortableObject 
portableCause)
-            :base(message)
-        {
-            _portableCause = portableCause;
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="IgniteException"/> 
class.
-        /// </summary>
-        /// <param name="info">Serialization information.</param>
-        /// <param name="ctx">Streaming context.</param>
-        protected ServiceInvocationException(SerializationInfo info, 
StreamingContext ctx)
-            : base(info, ctx)
-        {
-            _portableCause = (IPortableObject) info.GetValue(KeyPortableCause, 
typeof (IPortableObject));
-        }
-
-        /// <summary>
-        /// Gets the portable cause.
-        /// </summary>
-        public IPortableObject PortableCause
-        {
-            get { return _portableCause; }
-        }
-
-        /** <inheritdoc /> */
-        public override void GetObjectData(SerializationInfo info, 
StreamingContext context)
-        {
-            info.AddValue(KeyPortableCause, _portableCause);
-
-            base.GetObjectData(info, context);
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransaction.cs
----------------------------------------------------------------------
diff --git 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransaction.cs
 
b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransaction.cs
deleted file mode 100644
index e85d577..0000000
--- 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransaction.cs
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-
-namespace Apache.Ignite.Core.Transactions
-{
-    using System;
-    using System.Collections.Generic;
-    using Apache.Ignite.Core.Common;
-
-    /// <summary>
-    /// Grid cache transaction. 
-    /// <para />
-    /// Cache transactions support the following isolation levels:
-    /// <list type="bullet">
-    ///     <item>
-    ///         <description><see cref="TransactionIsolation.ReadCommitted"/> 
isolation level 
-    ///         means that always a committed value will be provided for read 
operations. With this isolation 
-    ///         level values are always read from cache global memory or 
persistent store every time a value 
-    ///         is accessed. In other words, if the same key is accessed more 
than once within the same transaction, 
-    ///         it may have different value every time since global cache 
memory may be updated concurrently by 
-    ///         other threads.</description>
-    ///     </item>
-    ///     <item>
-    ///         <description><see cref="TransactionIsolation.RepeatableRead"/> 
isolation level 
-    ///         means that if a value was read once within transaction, then 
all consecutive reads will provide 
-    ///         the same in-transaction value. With this isolation level 
accessed values are stored within 
-    ///         in-transaction memory, so consecutive access to the same key 
within the same transaction will always 
-    ///         return the value that was previously read or updated within 
this transaction. If concurrency is 
-    ///         <see cref="TransactionConcurrency.Pessimistic"/>, then a lock 
on the key will be 
-    ///         acquired prior to accessing the value.</description>
-    ///     </item>
-    ///     <item>
-    ///         <description><see cref="TransactionIsolation.Serializable"/> 
isolation level means 
-    ///         that all transactions occur in a completely isolated fashion, 
as if all transactions in the system 
-    ///         had executed serially, one after the other. Read access with 
this level happens the same way as with 
-    ///         <see cref="TransactionIsolation.RepeatableRead"/> level. 
However, in 
-    ///         <see cref="TransactionConcurrency.Optimistic"/> mode, if some 
transactions cannot be 
-    ///         serially isolated from each other, then one winner will be 
picked and the other transactions in 
-    ///         conflict will result in <c>TransactionOptimisticException</c> 
being thrown on Java side.</description>
-    ///     </item>
-    /// </list>
-    /// Cache transactions support the following concurrency models:
-    /// <list type="bullet">
-    ///     <item>
-    ///         <description><see cref="TransactionConcurrency.Optimistic"/> - 
in this mode all cache 
-    ///         operations 
-    ///         are not distributed to other nodes until <see 
cref="ITransaction.Commit()"/>.
-    ///         In this mode one <c>PREPARE</c> message will 
-    ///         be sent to participating cache nodes to start acquiring 
per-transaction locks, and once all nodes 
-    ///         reply <c>OK</c> (i.e. <c>Phase 1</c> completes successfully), 
a one-way <c>COMMIT</c> message is sent
-    ///         without waiting for reply. If it is necessary to know whenever 
remote nodes have committed as well, 
-    ///         synchronous commit or synchronous rollback should be enabled 
via 
-    ///         <c>CacheConfiguration.setWriteSynchronizationMode</c>.
-    ///         <para />
-    ///         Note that in this mode, optimistic failures are only possible 
in conjunction with
-    ///         <see cref="TransactionIsolation.Serializable"/> isolation 
level. In all other cases, 
-    ///         optimistic transactions will never fail optimistically and 
will always be identically ordered on all 
-    ///         participating Ignite nodes.</description>
-    ///     </item>
-    ///     <item>
-    ///         <description><see cref="TransactionConcurrency.Pessimistic"/> 
- in this mode a lock is 
-    ///         acquired on all cache operations with exception of read 
operations in 
-    ///         <see cref="TransactionIsolation.ReadCommitted"/> mode. All 
optional filters passed 
-    ///         into cache operations will be evaluated after successful lock 
acquisition. Whenever 
-    ///         <see cref="ITransaction.Commit()"/> is called, a single 
one-way <c>COMMIT</c> 
-    ///         message is sent to participating cache nodes without waiting 
for reply. Note that there is no reason 
-    ///         for distributed <c>PREPARE</c> step, as all locks have been 
already acquired. Just like with 
-    ///         optimistic mode, it is possible to configure synchronous 
commit or rollback and wait till 
-    ///         transaction commits on all participating remote 
nodes.</description>
-    ///     </item>
-    /// </list>
-    /// <para />
-    /// In addition to standard <c>CacheAtomicityMode.TRANSACTIONAL</c> 
behavior, Ignite also supports
-    /// a lighter <c>CacheAtomicityMode.ATOMIC</c> mode as well. In this mode 
distributed transactions
-    /// and distributed locking are not supported. Disabling transactions and 
locking allows to achieve much higher
-    /// performance and throughput ratios. It is recommended that 
<c>CacheAtomicityMode.TRANSACTIONAL</c> mode
-    /// is used whenever full <c>ACID</c>-compliant transactions are not 
needed.
-    /// <example>
-    ///     You can use cache transactions as follows:
-    ///     <code>
-    ///     ICacheTx tx = cache.TxStart();    
-    /// 
-    ///     try 
-    ///     {
-    ///         int v1 = cache&lt;string, int&gt;.Get("k1");
-    ///         
-    ///         // Check if v1 satisfies some condition before doing a put.
-    ///         if (v1 > 0)
-    ///             cache.Put&lt;string, int&gt;("k1", 2);
-    ///             
-    ///         cache.Removex("k2);
-    ///         
-    ///         // Commit the transaction.
-    ///         tx.Commit();
-    ///     }
-    ///     finally 
-    ///     {
-    ///         tx.Dispose();
-    ///     }
-    ///     
-    ///     </code>
-    /// </example>
-    /// </summary>
-    public interface ITransaction : IDisposable, IAsyncSupport<ITransaction>
-    {
-        /// <summary>
-        /// ID of the node on which this transaction started.
-        /// </summary>
-        /// <value>
-        /// Originating node ID.
-        /// </value>
-        Guid NodeId { get; }
-
-        /// <summary>
-        /// ID of the thread in which this transaction started.
-        /// </summary>
-        long ThreadId
-        {
-            get;
-        }
-
-        /// <summary>
-        /// Start time of this transaction on this node.
-        /// </summary>
-        DateTime StartTime
-        {
-            get;
-        }
-
-        /// <summary>
-        /// Transaction isolation level.
-        /// </summary>
-        TransactionIsolation Isolation
-        {
-            get;
-        }
-
-        /// <summary>
-        /// Transaction concurrency mode.
-        /// </summary>
-        TransactionConcurrency Concurrency
-        {
-            get;
-        }
-
-        /// <summary>
-        /// Current transaction state.
-        /// </summary>
-        TransactionState State
-        {
-            get;
-        }
-
-        /// <summary>
-        /// Timeout value in milliseconds for this transaction. If transaction 
times
-        /// out prior to it's completion, an exception will be thrown.
-        /// </summary>
-        TimeSpan Timeout
-        {
-            get;
-        }
-
-        /// <summary>
-        /// Gets a value indicating whether this transaction was marked as 
rollback-only.
-        /// </summary>
-        bool IsRollbackOnly
-        {
-            get;
-        }
-
-        /// <summary>
-        /// Modify the transaction associated with the current thread such 
that the 
-        /// only possible outcome of the transaction is to roll back the 
transaction.
-        /// </summary>
-        /// <returns>
-        /// True if rollback-only flag was set as a result of this operation, 
-        /// false if it was already set prior to this call or could not be set
-        /// because transaction is already finishing up committing or rolling 
back.
-        /// </returns>
-        bool SetRollbackonly();
-
-        /// <summary>
-        /// Commits this transaction.
-        /// </summary>
-        [AsyncSupported]
-        void Commit();
-
-        /// <summary>
-        /// Rolls back this transaction.
-        /// </summary>
-        [AsyncSupported]
-        void Rollback();
-
-        /// <summary>
-        /// Adds a new metadata.
-        /// </summary>
-        /// <param name="name">Metadata name.</param>
-        /// <param name="val">Metadata value.</param>
-        void AddMeta<TV>(string name, TV val);
-
-        /// <summary>
-        /// Gets metadata by name.
-        /// </summary>
-        /// <param name="name">Metadata name.</param>
-        /// <returns>Metadata value.</returns>
-        /// <exception cref="KeyNotFoundException">If metadata key was not 
found.</exception>
-        TV Meta<TV>(string name);
-
-        /// <summary>
-        /// Removes metadata by name.
-        /// </summary>
-        /// <param name="name">Metadata name.</param>
-        /// <returns>Value of removed metadata or default value for 
<code>V</code> type.</returns>
-        TV RemoveMeta<TV>(string name);
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransactionMetrics.cs
----------------------------------------------------------------------
diff --git 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransactionMetrics.cs
 
b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransactionMetrics.cs
deleted file mode 100644
index 565dd34..0000000
--- 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransactionMetrics.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-
-namespace Apache.Ignite.Core.Transactions
-{
-    using System;
-
-    /// <summary>
-    /// Transaction metrics, shared across all caches.
-    /// </summary>
-    public interface ITransactionMetrics
-    {
-        /// <summary>
-        /// Gets the last time transaction was committed.
-        /// </summary>
-        DateTime CommitTime { get; }
-
-        /// <summary>
-        /// Gets the last time transaction was rolled back.
-        /// </summary>
-        DateTime RollbackTime { get; }
-
-        /// <summary>
-        /// Gets the total number of transaction commits.
-        /// </summary>
-        int TxCommits { get; }
-
-        /// <summary>
-        /// Gets the total number of transaction rollbacks.
-        /// </summary>
-        int TxRollbacks { get; }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransactions.cs
----------------------------------------------------------------------
diff --git 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransactions.cs
 
b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransactions.cs
deleted file mode 100644
index 83f12a5..0000000
--- 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransactions.cs
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-
-namespace Apache.Ignite.Core.Transactions
-{
-    using System;
-
-    /// <summary>
-    /// Transactions facade.
-    /// <para/>
-    /// All members are thread-safe and may be used concurrently from multiple 
threads.
-    /// </summary>
-    public interface ITransactions
-    {
-        /// <summary>
-        /// Starts a transaction with default isolation, concurrency, timeout, 
and invalidation policy.
-        /// All defaults are set in CacheConfiguration at startup.
-        /// </summary>
-        /// <returns>New transaction.</returns>
-        ITransaction TxStart();
-
-        /// <summary>
-        /// Starts new transaction with the specified concurrency and 
isolation.
-        /// </summary>
-        /// <param name="concurrency">Concurrency.</param>
-        /// <param name="isolation">Isolation.</param>
-        /// <returns>New transaction.</returns>
-        ITransaction TxStart(TransactionConcurrency concurrency, 
TransactionIsolation isolation);
-
-        /// <summary>
-        /// Starts new transaction with the specified concurrency and 
isolation.
-        /// </summary>
-        /// <param name="concurrency">Concurrency.</param>
-        /// <param name="isolation">Isolation.</param>
-        /// <param name="timeout">Timeout.</param>
-        /// <param name="txSize">Number of entries participating in 
transaction (may be approximate).</param>
-        /// <returns>New transaction.</returns>
-        ITransaction TxStart(TransactionConcurrency concurrency, 
TransactionIsolation isolation, 
-            TimeSpan timeout, int txSize);
-
-        /// <summary>
-        /// Gets transaction started by this thread or null if this thread 
does not have a transaction.
-        /// </summary>
-        /// <value>
-        /// Transaction started by this thread or null if this thread does not 
have a transaction.
-        /// </value>
-        ITransaction Tx { get; }
-
-        /// <summary>
-        /// Gets the metrics.
-        /// </summary>
-        ITransactionMetrics GetMetrics();
-
-        /// <summary>
-        /// Resets the metrics.
-        /// </summary>
-        void ResetMetrics();
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionConcurrency.cs
----------------------------------------------------------------------
diff --git 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionConcurrency.cs
 
b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionConcurrency.cs
deleted file mode 100644
index 4025607..0000000
--- 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionConcurrency.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-
-namespace Apache.Ignite.Core.Transactions
-{
-    /// <summary>
-    /// Transaction concurrency control. See <see cref="ITransaction"/> for 
more 
-    /// information on transaction concurrency controls.
-    /// </summary>
-    public enum TransactionConcurrency
-    {
-        /// <summary>
-        /// Optimistic concurrency control.
-        /// </summary>
-        Optimistic = 0,
-
-        /// <summary>
-        /// Pessimistic concurrency control.
-        /// </summary>
-        Pessimistic = 1
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionHeuristicException.cs
----------------------------------------------------------------------
diff --git 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionHeuristicException.cs
 
b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionHeuristicException.cs
deleted file mode 100644
index cb46902..0000000
--- 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionHeuristicException.cs
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-
-namespace Apache.Ignite.Core.Transactions
-{
-    using System;
-    using System.Runtime.Serialization;
-    using Apache.Ignite.Core.Common;
-
-    /// <summary> 
-    /// Exception thrown whenever Ignite transaction enters an unknown state.
-    /// This exception is usually thrown whenever commit partially succeeds.
-    /// Cache will still resolve this situation automatically to ensure data
-    /// integrity, by invalidating all values participating in this transaction
-    /// on remote nodes.  
-    /// </summary>
-    [Serializable]
-    public class TransactionHeuristicException : IgniteException
-    {
-        /// <summary>
-        /// Initializes a new instance of the <see 
cref="TransactionHeuristicException"/> class.
-        /// </summary>
-        public TransactionHeuristicException()
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see 
cref="TransactionHeuristicException"/> class.
-        /// </summary>
-        /// <param name="message">The message that describes the error.</param>
-        public TransactionHeuristicException(string message) : base(message)
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see 
cref="TransactionHeuristicException"/> class.
-        /// </summary>
-        /// <param name="info">Serialization information.</param>
-        /// <param name="ctx">Streaming context.</param>
-        protected TransactionHeuristicException(SerializationInfo info, 
StreamingContext ctx)
-            : base(info, ctx)
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see 
cref="TransactionHeuristicException"/> class.
-        /// </summary>
-        /// <param name="message">The message.</param>
-        /// <param name="cause">The cause.</param>
-        public TransactionHeuristicException(string message, Exception cause) 
: base(message, cause)
-        {
-            // No-op.
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionIsolation.cs
----------------------------------------------------------------------
diff --git 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionIsolation.cs
 
b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionIsolation.cs
deleted file mode 100644
index 2a7723f..0000000
--- 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionIsolation.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-
-namespace Apache.Ignite.Core.Transactions
-{
-    /// <summary>
-    /// Defines different cache transaction isolation levels. See <see 
cref="ITransaction"/>
-    /// documentation for more information about cache transaction isolation 
levels.
-    /// </summary>
-    public enum TransactionIsolation
-    {
-        /// <summary>
-        /// Read committed isolation level.
-        /// </summary>
-        ReadCommitted = 0,
-
-        /// <summary>
-        /// Repeatable read isolation level.
-        /// </summary>
-        RepeatableRead = 1,
-
-        /// <summary>
-        /// Serializable isolation level.
-        /// </summary>
-        Serializable = 2
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionOptimisticException.cs
----------------------------------------------------------------------
diff --git 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionOptimisticException.cs
 
b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionOptimisticException.cs
deleted file mode 100644
index 2b64370..0000000
--- 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionOptimisticException.cs
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-
-namespace Apache.Ignite.Core.Transactions
-{
-    using System;
-    using System.Runtime.Serialization;
-    using Apache.Ignite.Core.Common;
-
-    /// <summary> 
-    /// Exception thrown whenever Ignite transactions fail optimistically.  
-    /// </summary>
-    [Serializable]
-    public class TransactionOptimisticException : IgniteException
-    {
-        /// <summary>
-        /// Initializes a new instance of the <see 
cref="TransactionOptimisticException"/> class.
-        /// </summary>
-        public TransactionOptimisticException()
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see 
cref="TransactionOptimisticException"/> class.
-        /// </summary>
-        /// <param name="message">The message that describes the error.</param>
-        public TransactionOptimisticException(string message) : base(message)
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see 
cref="TransactionOptimisticException"/> class.
-        /// </summary>
-        /// <param name="message">The message.</param>
-        /// <param name="cause">The cause.</param>
-        public TransactionOptimisticException(string message, Exception cause)
-            : base(message, cause)
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see 
cref="TransactionOptimisticException"/> class.
-        /// </summary>
-        /// <param name="info">Serialization information.</param>
-        /// <param name="ctx">Streaming context.</param>
-        protected TransactionOptimisticException(SerializationInfo info, 
StreamingContext ctx)
-            : base(info, ctx)
-        {
-            // No-op.
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionRollbackException.cs
----------------------------------------------------------------------
diff --git 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionRollbackException.cs
 
b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionRollbackException.cs
deleted file mode 100644
index c1f25c8..0000000
--- 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionRollbackException.cs
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-
-namespace Apache.Ignite.Core.Transactions 
-{
-    using System;
-    using System.Runtime.Serialization;
-    using Apache.Ignite.Core.Common;
-
-    /// <summary>
-    /// Exception thrown whenever Ignite transactions has been automatically 
rolled back.  
-    /// </summary>
-    [Serializable]
-    public class TransactionRollbackException : IgniteException
-    {
-        /// <summary>
-        /// Initializes a new instance of the <see 
cref="TransactionRollbackException"/> class.
-        /// </summary>
-        public TransactionRollbackException()
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see 
cref="TransactionRollbackException"/> class.
-        /// </summary>
-        /// <param name="message">The message that describes the error.</param>
-        public TransactionRollbackException(string message) : base(message)
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see 
cref="TransactionRollbackException"/> class.
-        /// </summary>
-        /// <param name="info">Serialization information.</param>
-        /// <param name="ctx">Streaming context.</param>
-        protected TransactionRollbackException(SerializationInfo info, 
StreamingContext ctx)
-            : base(info, ctx)
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see 
cref="TransactionRollbackException"/> class.
-        /// </summary>
-        /// <param name="message">The message.</param>
-        /// <param name="cause">The cause.</param>
-        public TransactionRollbackException(string message, Exception cause) : 
base(message, cause)
-        {
-            // No-op.
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionState.cs
----------------------------------------------------------------------
diff --git 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionState.cs
 
b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionState.cs
deleted file mode 100644
index eecf72b..0000000
--- 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionState.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-
-namespace Apache.Ignite.Core.Transactions
-{
-    /// <summary>
-    /// Cache transaction state.
-    /// </summary>
-    public enum TransactionState
-    {
-        /// <summary>
-        /// Transaction started.
-        /// </summary>
-        Active,
-
-        /// <summary>
-        /// Transaction validating.
-        /// </summary>
-        Preparing,
-
-        /// <summary>
-        /// Transaction validation succeeded.
-        /// </summary>
-        Prepared,
-
-        /// <summary>
-        /// Transaction is marked for rollback.
-        /// </summary>
-        MarkedRollback,
-
-        /// <summary>
-        /// Transaction commit started (validating finished).
-        /// </summary>
-        Committing,
-
-        /// <summary>
-        /// Transaction commit succeeded.
-        /// </summary>
-        Committed,
-        
-        /// <summary>
-        /// Transaction rollback started (validation failed).
-        /// </summary>
-        RollingBack,
-
-        /// <summary>
-        /// Transaction rollback succeeded.
-        /// </summary>
-        RolledBack,
-
-        /// <summary>
-        /// Transaction rollback failed or is otherwise unknown state.
-        /// </summary>
-        Unknown
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionTimeoutException.cs
----------------------------------------------------------------------
diff --git 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionTimeoutException.cs
 
b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionTimeoutException.cs
deleted file mode 100644
index f1e492a..0000000
--- 
a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionTimeoutException.cs
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-
-namespace Apache.Ignite.Core.Transactions 
-{
-    using System;
-    using System.Runtime.Serialization;
-    using Apache.Ignite.Core.Common;
-
-    /// <summary>
-    /// Exception thrown whenever Ignite transactions time out.  
-    /// </summary>
-    [Serializable]
-    public class TransactionTimeoutException : IgniteException
-    {
-        /// <summary>
-        /// Initializes a new instance of the <see 
cref="TransactionTimeoutException"/> class.
-        /// </summary>
-        public TransactionTimeoutException()
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see 
cref="TransactionTimeoutException"/> class.
-        /// </summary>
-        /// <param name="message">The message that describes the error.</param>
-        public TransactionTimeoutException(string message)
-            : base(message)
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see 
cref="TransactionTimeoutException"/> class.
-        /// </summary>
-        /// <param name="info">Serialization information.</param>
-        /// <param name="ctx">Streaming context.</param>
-        protected TransactionTimeoutException(SerializationInfo info, 
StreamingContext ctx)
-            : base(info, ctx)
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see 
cref="TransactionTimeoutException"/> class.
-        /// </summary>
-        /// <param name="message">The message.</param>
-        /// <param name="cause">The cause.</param>
-        public TransactionTimeoutException(string message, Exception cause) : 
base(message, cause)
-        {
-            // No-op.
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.sln
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.sln 
b/modules/platform/src/main/dotnet/Apache.Ignite.sln
deleted file mode 100644
index ebde1a8..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite.sln
+++ /dev/null
@@ -1,86 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Ignite.Core", 
"Apache.Ignite.Core\Apache.Ignite.Core.csproj", 
"{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = 
"Apache.Ignite.Core.Tests", 
"..\..\test\dotnet\Apache.Ignite.Core.Tests\Apache.Ignite.Core.Tests.csproj", 
"{6A62F66C-DA5B-4FBB-8CE7-A95F740FDC7A}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", 
"..\cpp\common\project\vs\common.vcxproj", 
"{4F7E4917-4612-4B96-9838-025711ADE391}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = 
"Apache.Ignite.Core.Tests.TestDll", 
"..\..\test\dotnet\Apache.Ignite.Core.Tests.TestDll\Apache.Ignite.Core.Tests.TestDll.csproj",
 "{F4A69E2D-908E-4F0F-A794-84D508D60E5F}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Ignite", 
"Apache.Ignite\Apache.Ignite.csproj", "{27F7F3C6-BDDE-43A9-B565-856F8395A04B}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Ignite.Examples", 
"Examples\Apache.Ignite.Examples\Apache.Ignite.Examples.csproj", 
"{069FA680-3C4D-43A9-B84F-E67513B87827}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = 
"Apache.Ignite.ExamplesDll", 
"Examples\Apache.Ignite.ExamplesDll\Apache.Ignite.ExamplesDll.csproj", 
"{DFB08363-202E-412D-8812-349EF10A8702}"
-EndProject
-Global
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution
-               Debug|x64 = Debug|x64
-               Debug|x86 = Debug|x86
-               Release|x64 = Release|x64
-               Release|x86 = Release|x86
-       EndGlobalSection
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution
-               {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x64.ActiveCfg = 
Debug|x64
-               {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x64.Build.0 = 
Debug|x64
-               {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x86.ActiveCfg = 
Debug|x86
-               {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x86.Build.0 = 
Debug|x86
-               {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x64.ActiveCfg = 
Release|x64
-               {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x64.Build.0 = 
Release|x64
-               {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x86.ActiveCfg = 
Release|x86
-               {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x86.Build.0 = 
Release|x86
-               {6A62F66C-DA5B-4FBB-8CE7-A95F740FDC7A}.Debug|x64.ActiveCfg = 
Debug|x64
-               {6A62F66C-DA5B-4FBB-8CE7-A95F740FDC7A}.Debug|x64.Build.0 = 
Debug|x64
-               {6A62F66C-DA5B-4FBB-8CE7-A95F740FDC7A}.Debug|x86.ActiveCfg = 
Debug|x86
-               {6A62F66C-DA5B-4FBB-8CE7-A95F740FDC7A}.Debug|x86.Build.0 = 
Debug|x86
-               {6A62F66C-DA5B-4FBB-8CE7-A95F740FDC7A}.Release|x64.ActiveCfg = 
Release|x64
-               {6A62F66C-DA5B-4FBB-8CE7-A95F740FDC7A}.Release|x64.Build.0 = 
Release|x64
-               {6A62F66C-DA5B-4FBB-8CE7-A95F740FDC7A}.Release|x86.ActiveCfg = 
Release|x86
-               {6A62F66C-DA5B-4FBB-8CE7-A95F740FDC7A}.Release|x86.Build.0 = 
Release|x86
-               {4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x64.ActiveCfg = 
Debug|x64
-               {4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x64.Build.0 = 
Debug|x64
-               {4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x86.ActiveCfg = 
Debug|Win32
-               {4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x86.Build.0 = 
Debug|Win32
-               {4F7E4917-4612-4B96-9838-025711ADE391}.Release|x64.ActiveCfg = 
Release|x64
-               {4F7E4917-4612-4B96-9838-025711ADE391}.Release|x64.Build.0 = 
Release|x64
-               {4F7E4917-4612-4B96-9838-025711ADE391}.Release|x86.ActiveCfg = 
Release|Win32
-               {4F7E4917-4612-4B96-9838-025711ADE391}.Release|x86.Build.0 = 
Release|Win32
-               {F4A69E2D-908E-4F0F-A794-84D508D60E5F}.Debug|x64.ActiveCfg = 
Debug|x64
-               {F4A69E2D-908E-4F0F-A794-84D508D60E5F}.Debug|x64.Build.0 = 
Debug|x64
-               {F4A69E2D-908E-4F0F-A794-84D508D60E5F}.Debug|x86.ActiveCfg = 
Debug|x86
-               {F4A69E2D-908E-4F0F-A794-84D508D60E5F}.Debug|x86.Build.0 = 
Debug|x86
-               {F4A69E2D-908E-4F0F-A794-84D508D60E5F}.Release|x64.ActiveCfg = 
Release|x64
-               {F4A69E2D-908E-4F0F-A794-84D508D60E5F}.Release|x64.Build.0 = 
Release|x64
-               {F4A69E2D-908E-4F0F-A794-84D508D60E5F}.Release|x86.ActiveCfg = 
Release|x86
-               {F4A69E2D-908E-4F0F-A794-84D508D60E5F}.Release|x86.Build.0 = 
Release|x86
-               {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x64.ActiveCfg = 
Debug|x64
-               {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x64.Build.0 = 
Debug|x64
-               {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x86.ActiveCfg = 
Debug|x86
-               {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x86.Build.0 = 
Debug|x86
-               {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x64.ActiveCfg = 
Release|x64
-               {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x64.Build.0 = 
Release|x64
-               {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x86.ActiveCfg = 
Release|x86
-               {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x86.Build.0 = 
Release|x86
-               {069FA680-3C4D-43A9-B84F-E67513B87827}.Debug|x64.ActiveCfg = 
Debug|x64
-               {069FA680-3C4D-43A9-B84F-E67513B87827}.Debug|x64.Build.0 = 
Debug|x64
-               {069FA680-3C4D-43A9-B84F-E67513B87827}.Debug|x86.ActiveCfg = 
Debug|x86
-               {069FA680-3C4D-43A9-B84F-E67513B87827}.Debug|x86.Build.0 = 
Debug|x86
-               {069FA680-3C4D-43A9-B84F-E67513B87827}.Release|x64.ActiveCfg = 
Release|x64
-               {069FA680-3C4D-43A9-B84F-E67513B87827}.Release|x64.Build.0 = 
Release|x64
-               {069FA680-3C4D-43A9-B84F-E67513B87827}.Release|x86.ActiveCfg = 
Release|x86
-               {069FA680-3C4D-43A9-B84F-E67513B87827}.Release|x86.Build.0 = 
Release|x86
-               {DFB08363-202E-412D-8812-349EF10A8702}.Debug|x64.ActiveCfg = 
Debug|x64
-               {DFB08363-202E-412D-8812-349EF10A8702}.Debug|x64.Build.0 = 
Debug|x64
-               {DFB08363-202E-412D-8812-349EF10A8702}.Debug|x86.ActiveCfg = 
Debug|x86
-               {DFB08363-202E-412D-8812-349EF10A8702}.Debug|x86.Build.0 = 
Debug|x86
-               {DFB08363-202E-412D-8812-349EF10A8702}.Release|x64.ActiveCfg = 
Release|x64
-               {DFB08363-202E-412D-8812-349EF10A8702}.Release|x64.Build.0 = 
Release|x64
-               {DFB08363-202E-412D-8812-349EF10A8702}.Release|x86.ActiveCfg = 
Release|x86
-               {DFB08363-202E-412D-8812-349EF10A8702}.Release|x86.Build.0 = 
Release|x86
-       EndGlobalSection
-       GlobalSection(SolutionProperties) = preSolution
-               HideSolutionNode = FALSE
-       EndGlobalSection
-EndGlobal

http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.sln.DotSettings
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.sln.DotSettings 
b/modules/platform/src/main/dotnet/Apache.Ignite.sln.DotSettings
deleted file mode 100644
index 187a909..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite.sln.DotSettings
+++ /dev/null
@@ -1,4 +0,0 @@
-<wpf:ResourceDictionary xml:space="preserve" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"; 
xmlns:s="clr-namespace:System;assembly=mscorlib" 
xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" 
xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation";>
-       <s:Boolean 
x:Key="/Default/CodeStyle/CSharpUsing/AddImportsToDeepestScope/@EntryValue">True</s:Boolean>
-       
-       <s:Boolean 
x:Key="/Default/CodeStyle/CSharpUsing/QualifiedUsingAtNestedScope/@EntryValue">True</s:Boolean></wpf:ResourceDictionary>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.slnrel
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.slnrel 
b/modules/platform/src/main/dotnet/Apache.Ignite.slnrel
deleted file mode 100644
index 0229623..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite.slnrel
+++ /dev/null
@@ -1,43 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Ignite.Core", 
"Apache.Ignite.Core\Apache.Ignite.Core.csproj", 
"{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", 
"..\cpp\src\common\project\vs\common.vcxproj", 
"{4F7E4917-4612-4B96-9838-025711ADE391}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Ignite", 
"Apache.Ignite\Apache.Ignite.csproj", "{27F7F3C6-BDDE-43A9-B565-856F8395A04B}"
-EndProject
-Global
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution
-               Release|x64 = Release|x64
-       EndGlobalSection
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution
-               {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x64.ActiveCfg = 
Debug|x64
-               {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x64.Build.0 = 
Debug|x64
-               {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x86.ActiveCfg = 
Debug|x86
-               {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x86.Build.0 = 
Debug|x86
-               {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x64.ActiveCfg = 
Release|x64
-               {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x64.Build.0 = 
Release|x64
-               {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x86.ActiveCfg = 
Release|x86
-               {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x86.Build.0 = 
Release|x86
-               {4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x64.ActiveCfg = 
Debug|x64
-               {4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x64.Build.0 = 
Debug|x64
-               {4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x86.ActiveCfg = 
Debug|Win32
-               {4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x86.Build.0 = 
Debug|Win32
-               {4F7E4917-4612-4B96-9838-025711ADE391}.Release|x64.ActiveCfg = 
Release|x64
-               {4F7E4917-4612-4B96-9838-025711ADE391}.Release|x64.Build.0 = 
Release|x64
-               {4F7E4917-4612-4B96-9838-025711ADE391}.Release|x86.ActiveCfg = 
Release|Win32
-               {4F7E4917-4612-4B96-9838-025711ADE391}.Release|x86.Build.0 = 
Release|Win32
-               {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x64.ActiveCfg = 
Debug|x64
-               {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x64.Build.0 = 
Debug|x64
-               {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x86.ActiveCfg = 
Debug|x86
-               {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x86.Build.0 = 
Debug|x86
-               {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x64.ActiveCfg = 
Release|x64
-               {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x64.Build.0 = 
Release|x64
-               {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x86.ActiveCfg = 
Release|x86
-               {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x86.Build.0 = 
Release|x86
-       EndGlobalSection
-       GlobalSection(SolutionProperties) = preSolution
-               HideSolutionNode = FALSE
-       EndGlobalSection
-EndGlobal

http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite/Apache.Ignite.csproj
----------------------------------------------------------------------
diff --git 
a/modules/platform/src/main/dotnet/Apache.Ignite/Apache.Ignite.csproj 
b/modules/platform/src/main/dotnet/Apache.Ignite/Apache.Ignite.csproj
deleted file mode 100644
index 7f6db3a..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite/Apache.Ignite.csproj
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
-  <Import 
Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props"
 
Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')"
 />
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{27F7F3C6-BDDE-43A9-B565-856F8395A04B}</ProjectGuid>
-    <OutputType>Exe</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>Apache.Ignite</RootNamespace>
-    <AssemblyName>Apache.Ignite</AssemblyName>
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
-    <PlatformTarget>x64</PlatformTarget>
-    <OutputPath>bin\x64\Debug\</OutputPath>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
-    <PlatformTarget>x64</PlatformTarget>
-    <OutputPath>bin\x64\Release\</OutputPath>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
-    <PlatformTarget>x86</PlatformTarget>
-    <OutputPath>bin\x86\Debug\</OutputPath>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
-    <PlatformTarget>x86</PlatformTarget>
-    <OutputPath>bin\x86\Release\</OutputPath>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Configuration" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.ServiceProcess" />
-    <Reference Include="System.Xml.Linq" />
-    <Reference Include="System.Data.DataSetExtensions" />
-    <Reference Include="Microsoft.CSharp" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Config\AppSettingsConfigurator.cs" />
-    <Compile Include="Config\ArgsConfigurator.cs" />
-    <Compile Include="Config\ConfigValueParser.cs" />
-    <Compile Include="Config\IConfigurator.cs" />
-    <Compile Include="IgniteRunner.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="Service\IgniteService.cs">
-      <SubType>Component</SubType>
-    </Compile>
-    <Compile Include="Service\NativeMethods.cs" />
-    <Compile Include="Service\ServiceDescription.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference 
Include="..\Apache.Ignite.Core\Apache.Ignite.Core.csproj">
-      <Project>{4cd2f726-7e2b-46c4-a5ba-057bb82eecb6}</Project>
-      <Name>Apache.Ignite.Core</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="App.config" />
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <PropertyGroup>
-    <PostBuildEvent>copy $(TargetPath) 
$(SolutionDir)..\..\test\dotnet\Apache.Ignite.Core.Tests\$(OutDir)
-copy $(TargetPath).config 
$(SolutionDir)..\..\test\dotnet\Apache.Ignite.Core.Tests\$(OutDir)</PostBuildEvent>
-  </PropertyGroup>
-  <!-- To modify your build process, add your task inside one of the targets 
below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite/Apache.Ignite.csprojrel
----------------------------------------------------------------------
diff --git 
a/modules/platform/src/main/dotnet/Apache.Ignite/Apache.Ignite.csprojrel 
b/modules/platform/src/main/dotnet/Apache.Ignite/Apache.Ignite.csprojrel
deleted file mode 100644
index 0883660..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite/Apache.Ignite.csprojrel
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
-  <Import 
Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props"
 
Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')"
 />
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{27F7F3C6-BDDE-43A9-B565-856F8395A04B}</ProjectGuid>
-    <OutputType>Exe</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>Apache.Ignite</RootNamespace>
-    <AssemblyName>Apache.Ignite</AssemblyName>
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
-    <PlatformTarget>x64</PlatformTarget>
-    <OutputPath>bin\x64\Debug\</OutputPath>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
-    <PlatformTarget>x64</PlatformTarget>
-    <OutputPath>bin\x64\Release\</OutputPath>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
-    <PlatformTarget>x86</PlatformTarget>
-    <OutputPath>bin\x86\Debug\</OutputPath>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
-    <PlatformTarget>x86</PlatformTarget>
-    <OutputPath>bin\x86\Release\</OutputPath>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Configuration" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.ServiceProcess" />
-    <Reference Include="System.Xml.Linq" />
-    <Reference Include="System.Data.DataSetExtensions" />
-    <Reference Include="Microsoft.CSharp" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Config\AppSettingsConfigurator.cs" />
-    <Compile Include="Config\ArgsConfigurator.cs" />
-    <Compile Include="Config\ConfigValueParser.cs" />
-    <Compile Include="Config\IConfigurator.cs" />
-    <Compile Include="IgniteRunner.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="Service\IgniteService.cs">
-      <SubType>Component</SubType>
-    </Compile>
-    <Compile Include="Service\NativeMethods.cs" />
-    <Compile Include="Service\ServiceDescription.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference 
Include="..\Apache.Ignite.Core\Apache.Ignite.Core.csproj">
-      <Project>{4cd2f726-7e2b-46c4-a5ba-057bb82eecb6}</Project>
-      <Name>Apache.Ignite.Core</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="App.config" />
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <PropertyGroup>
-    <PostBuildEvent>
-    </PostBuildEvent>
-  </PropertyGroup>
-  <!-- To modify your build process, add your task inside one of the targets 
below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite/App.config
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/dotnet/Apache.Ignite/App.config 
b/modules/platform/src/main/dotnet/Apache.Ignite/App.config
deleted file mode 100644
index a9e8c39..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite/App.config
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You 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.
--->
-
-
-<!--
-    Apache Ignite .Net startup application configuration file.
--->
-
-<configuration>
-    <startup>
-        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
-    </startup>
-
-    <runtime>
-        <gcServer enabled="true" />
-    </runtime>
-
-    <appSettings>
-        <!-- Path to spring configuration file relative from IGNITE_HOME (if 
not provided "config/default-config.xml" is used) -->
-        <!-- <add key="Ignite.SpringConfigUrl" value="my-config.xml"/> -->
-
-        <!-- Absolute path to spring configuration file (if not provided 
"config/default-config.xml" is used) -->
-        <!-- <add key="Ignite.SpringConfigUrl" 
value="C:\my-dir\my-config.xml"/> -->
-
-        <!-- Path to Java library jvm.dll (if not provided JAVA_HOME 
environment variable is used to find jvm.dll) -->
-        <!-- <add key="Ignite.JvmDllPath" value="C:\Program 
Files\Java\jdk1.7.0_45\jre\bin\server\jvm.dll"/> -->
-
-        <!-- Additional classpath passed to JVM (enlist additional jar files 
here) -->
-        <!-- <add key="Ignite.JvmClasspath" 
value="c:\my-dir\my-lib1.jar;c:\my-dir\my-lib2.jar"/> -->
-
-        <!-- JVM Options passed to JVM -->
-        <!-- <add key="Ignite.JvmOption.1" value="-Xmx512m"/> -->
-        <!-- <add key="Ignite.JvmOption.2" value="-DIGNITE_QUIET=false"/> -->
-
-        <!-- Additional .Net assemblies to be loaded on startup. -->
-        <!-- <add key="Ignite.Assembly.1" 
value="System.Data.Linq,Culture=neutral,Version=1.0.0.0,PublicKeyToken=b77a5c561934e089"/>
 -->
-        <!-- <add key="Ignite.Assembly.2" value="my-assembly.dll"/> -->
-    </appSettings>
-
-</configuration>

http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite/Config/AppSettingsConfigurator.cs
----------------------------------------------------------------------
diff --git 
a/modules/platform/src/main/dotnet/Apache.Ignite/Config/AppSettingsConfigurator.cs
 
b/modules/platform/src/main/dotnet/Apache.Ignite/Config/AppSettingsConfigurator.cs
deleted file mode 100644
index b2e827e..0000000
--- 
a/modules/platform/src/main/dotnet/Apache.Ignite/Config/AppSettingsConfigurator.cs
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-
-namespace Apache.Ignite.Config
-{
-    using System.Collections.Generic;
-    using System.Collections.Specialized;
-    using Apache.Ignite.Core;
-
-    /// <summary>
-    /// Configurator which uses application configuration.
-    /// </summary>
-    internal class AppSettingsConfigurator : IConfigurator<NameValueCollection>
-    {
-        /** Common configuration property prefix. */
-        private static readonly string CfgPrefix = "Ignite.".ToLower();
-
-        /** Configuration property: Ignite home. */
-        private static readonly string CfgHome = "Home".ToLower();
-
-        /** Configuration property: Spring config URL. */
-        private static readonly string CfgSpringCfgUrl = 
"SpringConfigUrl".ToLower();
-
-        /** Configuration property: Path to JVM dll. */
-        private static readonly string CfgJvmDll = "JvmDll".ToLower();
-
-        /** Configuration property: JVM classpath. */
-        private static readonly string CfgJvmClasspath = 
"JvmClasspath".ToLower();
-
-        /** Configuration property: suppress warnings flag. */
-        private static readonly string CfgSuppressWarn = 
"SuppressWarnings".ToLower();
-
-        /** Configuration property: JVM option prefix. */
-        private static readonly string CfgJvmOptPrefix = "JvmOption".ToLower();
-
-        /** Configuration property: assembly prefix. */
-        private static readonly string CfgAssemblyPrefix = 
"Assembly".ToLower();
-
-        /** Configuration property: JVM min memory. */
-        private static readonly string CfgJvmMinMem = 
"JvmInitialMemoryMB".ToLower();
-
-        /** Configuration property: JVM max memory. */
-        private static readonly string CfgJvmMaxMem = 
"JvmMaxMemoryMB".ToLower();
-
-        /** <inheritDoc /> */
-        public void Configure(IgniteConfiguration cfg, NameValueCollection src)
-        {
-            var jvmOpts = new List<string>();
-            var assemblies = new List<string>();
-
-            foreach (string key in src.Keys)
-            {
-                var key0 = key.ToLower();
-
-                if (key0.StartsWith(CfgPrefix))
-                {
-                    key0 = key0.Substring(CfgPrefix.Length);
-
-                    var val = src[key];
-
-                    if (CfgHome.Equals(key0))
-                        cfg.IgniteHome = val;
-                    else if (CfgSpringCfgUrl.Equals(key0))
-                        cfg.SpringConfigUrl = val;
-                    else if (CfgJvmDll.Equals(key0))
-                        cfg.JvmDllPath = val;
-                    else if (CfgJvmClasspath.Equals(key0))
-                        cfg.JvmClasspath = val;
-                    else if (CfgSuppressWarn.Equals(key0))
-                        cfg.SuppressWarnings = val != null && 
bool.TrueString.ToLower().Equals(val.ToLower());
-                    else if (key0.StartsWith(CfgJvmOptPrefix))
-                        jvmOpts.Add(val);
-                    else if (key0.StartsWith(CfgAssemblyPrefix))
-                        assemblies.Add(val);
-                    else if (CfgJvmMinMem.Equals(key0))
-                        cfg.JvmInitialMemoryMb = 
ConfigValueParser.ParseInt(val, key);
-                    else if (CfgJvmMaxMem.Equals(key0))
-                        cfg.JvmMaxMemoryMb = ConfigValueParser.ParseInt(val, 
key);
-                }
-            }
-
-            if (jvmOpts.Count > 0)
-            {
-                if (cfg.JvmOptions == null)
-                    cfg.JvmOptions = jvmOpts;
-                else
-                    jvmOpts.ForEach(val => cfg.JvmOptions.Add(val));
-            }
-
-            if (assemblies.Count > 0)
-            {
-                if (cfg.Assemblies == null)
-                    cfg.Assemblies = assemblies;
-                else
-                    assemblies.ForEach(val => cfg.Assemblies.Add(val));
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite/Config/ArgsConfigurator.cs
----------------------------------------------------------------------
diff --git 
a/modules/platform/src/main/dotnet/Apache.Ignite/Config/ArgsConfigurator.cs 
b/modules/platform/src/main/dotnet/Apache.Ignite/Config/ArgsConfigurator.cs
deleted file mode 100644
index b0651d7..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite/Config/ArgsConfigurator.cs
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-
-namespace Apache.Ignite.Config
-{
-    using System.Collections.Generic;
-    using Apache.Ignite.Core;
-
-    /// <summary>
-    /// Configurator which uses arguments array.
-    /// </summary>
-    internal class ArgsConfigurator : IConfigurator<string[]>
-    {
-        /** Command line argument: Ignite home. */
-        private static readonly string CmdIgniteHome = 
"-IgniteHome=".ToLower();
-
-        /** Command line argument: Spring config URL. */
-        private static readonly string CmdSpringCfgUrl = 
"-SpringConfigUrl=".ToLower();
-
-        /** Command line argument: Path to JVM dll. */
-        private static readonly string CmdJvmDll = "-JvmDll=".ToLower();
-
-        /** Command line argument: JVM classpath. */
-        private static readonly string CmdJvmClasspath = 
"-JvmClasspath=".ToLower();
-
-        /** Command line argument: suppress warnings flag. */
-        private static readonly string CmdSuppressWarn = 
"-SuppressWarnings=".ToLower();
-
-        /** Command line argument: JVM option prefix. */
-        private static readonly string CmdJvmOpt = "-J".ToLower();
-
-        /** Command line argument: assembly. */
-        private static readonly string CmdAssembly = "-Assembly=".ToLower();
-
-        /** Command line argument: JvmInitialMemoryMB. */
-        private static readonly string CmdJvmMinMem = 
"-JvmInitialMemoryMB=".ToLower();
-
-        /** Command line argument: JvmMaxMemoryMB. */
-        private static readonly string CmdJvmMaxMem = 
"-JvmMaxMemoryMB=".ToLower();
-
-        /// <summary>
-        /// Convert configuration to arguments.
-        /// </summary>
-        /// <param name="cfg"></param>
-        /// <returns></returns>
-        internal static string[] ToArgs(IgniteConfiguration cfg)
-        {
-            var args = new List<string>();
-
-            if (cfg.IgniteHome != null)
-                args.Add(CmdIgniteHome + cfg.IgniteHome);
-
-            if (cfg.SpringConfigUrl != null)
-                args.Add(CmdSpringCfgUrl + cfg.SpringConfigUrl);
-
-            if (cfg.JvmDllPath != null)
-                args.Add(CmdJvmDll + cfg.JvmDllPath);
-
-            if (cfg.JvmClasspath != null)
-                args.Add(CmdJvmClasspath + cfg.JvmClasspath);
-            
-            if (cfg.SuppressWarnings)
-                args.Add(CmdSuppressWarn + bool.TrueString);
-
-            if (cfg.JvmOptions != null)
-            {
-                foreach (var jvmOpt in cfg.JvmOptions)
-                    args.Add(CmdJvmOpt + jvmOpt);
-            }
-
-            if (cfg.Assemblies != null)
-            {
-                foreach (var assembly in cfg.Assemblies)
-                    args.Add(CmdAssembly + assembly);
-            }
-
-            args.Add(CmdJvmMinMem + cfg.JvmInitialMemoryMb);
-            args.Add(CmdJvmMaxMem + cfg.JvmMaxMemoryMb);
-
-            return args.ToArray();
-        }
-
-        /// <summary>
-        /// Convert arguments to configuration.
-        /// </summary>
-        /// <param name="args">Arguments.</param>
-        /// <returns>Configuration.</returns>
-        internal static IgniteConfiguration FromArgs(string[] args)
-        {
-            var cfg = new IgniteConfiguration();
-
-            new ArgsConfigurator().Configure(cfg, args);
-
-            return cfg;
-        }
-
-        /** <inheritDoc /> */
-        public void Configure(IgniteConfiguration cfg, string[] src)
-        {
-            var jvmOpts = new List<string>();
-            var assemblies = new List<string>();
-
-            foreach (var arg in src)
-            {
-                var argLow = arg.ToLower();
-
-                if (argLow.StartsWith(CmdIgniteHome))
-                    cfg.IgniteHome = arg.Substring(CmdIgniteHome.Length);
-                else if (argLow.StartsWith(CmdSpringCfgUrl))
-                    cfg.SpringConfigUrl = 
arg.Substring(CmdSpringCfgUrl.Length);
-                else if (argLow.StartsWith(CmdJvmDll))
-                    cfg.JvmDllPath = arg.Substring(CmdJvmDll.Length);
-                else if (argLow.StartsWith(CmdJvmClasspath))
-                    cfg.JvmClasspath = arg.Substring(CmdJvmClasspath.Length);
-                else if (argLow.StartsWith(CmdSuppressWarn))
-                {
-                    var val = arg.Substring(CmdSuppressWarn.Length);
-
-                    cfg.SuppressWarnings = 
bool.TrueString.ToLower().Equals(val.ToLower());
-                }
-                else if (argLow.StartsWith(CmdJvmMinMem))
-                    cfg.JvmInitialMemoryMb = 
ConfigValueParser.ParseInt(arg.Substring(CmdJvmMinMem.Length),
-                        CmdJvmMinMem);
-                else if (argLow.StartsWith(CmdJvmMaxMem))
-                    cfg.JvmMaxMemoryMb = 
ConfigValueParser.ParseInt(arg.Substring(CmdJvmMaxMem.Length),
-                        CmdJvmMaxMem);
-                else if (argLow.StartsWith(CmdJvmOpt))
-                    jvmOpts.Add(arg.Substring(CmdJvmOpt.Length));
-                else if (argLow.StartsWith(CmdAssembly))
-                    assemblies.Add(arg.Substring(CmdAssembly.Length));
-            }
-
-            if (jvmOpts.Count > 0)
-            {
-                if (cfg.JvmOptions == null)
-                    cfg.JvmOptions = jvmOpts;
-                else
-                    jvmOpts.ForEach(val => cfg.JvmOptions.Add(val));
-            }
-
-            if (assemblies.Count > 0)
-            {
-                if (cfg.Assemblies == null)
-                    cfg.Assemblies = assemblies;
-                else
-                    assemblies.ForEach(val => cfg.Assemblies.Add(val));
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite/Config/ConfigValueParser.cs
----------------------------------------------------------------------
diff --git 
a/modules/platform/src/main/dotnet/Apache.Ignite/Config/ConfigValueParser.cs 
b/modules/platform/src/main/dotnet/Apache.Ignite/Config/ConfigValueParser.cs
deleted file mode 100644
index 796b8e1..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite/Config/ConfigValueParser.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-
-namespace Apache.Ignite.Config
-{
-    using System;
-
-    /// <summary>
-    /// Parses Ignite config values.
-    /// </summary>
-    internal class ConfigValueParser
-    {
-        /// <summary>
-        /// Parses provided string to int. Throws a custom exception if failed.
-        /// </summary>
-        public static int ParseInt(string value, string propertyName)
-        {
-            int result;
-
-            if (int.TryParse(value, out result))
-                return result;
-
-            throw new InvalidOperationException(
-                string.Format("Failed to configure Ignite: property '{0}' has 
value '{1}', which is not an integer.",
-                    propertyName, value));
-        }
-    }
-}

Reply via email to