diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index a56149897..feae006bf 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -9,8 +9,9 @@
false
false
true
+ $(MSBuildProjectName.Contains('Test'))
-
+
diff --git a/src/net40/Tests/WampSharp.Tests.Wampv2/WampSharp.Tests.Wampv2.csproj b/src/net40/Tests/WampSharp.Tests.Wampv2/WampSharp.Tests.Wampv2.csproj
index d8b66e301..a1e39a678 100644
--- a/src/net40/Tests/WampSharp.Tests.Wampv2/WampSharp.Tests.Wampv2.csproj
+++ b/src/net40/Tests/WampSharp.Tests.Wampv2/WampSharp.Tests.Wampv2.csproj
@@ -1,6 +1,21 @@
-
+
+
+
+
- net45
+ Debug
+ AnyCPU
+ {710B61C1-E7E0-4D8F-BF39-F82086D610ED}
+ Library
+ Properties
+ WampSharp.Tests.Wampv2
+ WampSharp.Tests.Wampv2
+ v4.5
+ 512
+ ..\..\
+ true
+
+
true
@@ -19,24 +34,334 @@
prompt
4
-
-
-
-
+
+ ..\..\packages\Castle.Core.4.2.1\lib\net45\Castle.Core.dll
+
+
+ False
+ ..\..\packages\Moq.4.2.1502.0911\lib\net40\Moq.dll
+
+
+ ..\..\packages\Newtonsoft.Json.6.0.5\lib\net45\Newtonsoft.Json.dll
+ True
+
+
+ ..\..\packages\NUnit.3.7.1\lib\net45\nunit.framework.dll
+
+
+
+
+
+ False
+ ..\..\packages\Rx-Core.2.2.5\lib\net40\System.Reactive.Core.dll
+
+
+ False
+ ..\..\packages\Rx-Interfaces.2.2.5\lib\net40\System.Reactive.Interfaces.dll
+
+
+ False
+ ..\..\packages\Rx-Linq.2.2.5\lib\net40\System.Reactive.Linq.dll
+
+
+ False
+ ..\..\packages\Rx-PlatformServices.2.2.5\lib\net40\System.Reactive.PlatformServices.dll
+
+
+
+
+
+
+
-
-
-
-
-
+
+ Binding\MockBinding.cs
+
+
+ Binding\MockWampMessage.cs
+
+
+ CalleeProxyExtensions.cs
+
+
+ Client\Callee\CalleeTest.cs
+
+
+ Client\Callee\InvocationCalleeeTest.cs
+
+
+ Client\Callee\RawInvocationCalleeTests.cs
+
+
+ Client\Caller\CallerTest.cs
+
+
+ Client\Caller\CallerRawTests.cs
+
+
+ Client\RawTest.cs
+
+
+ Integration\AuthenticationClientTests.cs
+
+
+ Integration\AuthenticationServerTests.cs
+
+
+ Integration\CallerCallee.cs
+
+
+ Integration\CallerDealerTests.cs
+
+
+ Integration\CancelTests.cs
+
+
+ Integration\MockRawCallback.cs
+
+
+ Integration\PatternBasedPubSubTests.cs
+
+
+ Integration\PatternRpcTests.cs
+
+
+ Integration\PublisherSubscriber.cs
+
+
+ Integration\PubSubReflectionTests.cs
+
+
+ Integration\PubSubRetainTests.cs
+
+
+ Integration\RpcOptionsTests.cs
+
+
+ Integration\RpcProgressTests.cs
+
+
+ Integration\RpcProxies\IArgumentsService.cs
+
+
+ Integration\RpcProxies\IComplexResultService.cs
+
+
+ Integration\RpcProxies\IErrorsService.cs
+
+
+ Integration\RpcProxies\ILongValueTuplesServiceProxy.cs
+
+
+ Integration\RpcProxies\INamedTupleComplexResultService.cs
+
+
+ Integration\RpcProxies\ISlowSquareService.cs
+
+
+ Integration\RpcProxies\ITimeService.cs
+
+
+ Integration\RpcServices\ArgumentsService.cs
+
+
+ Integration\RpcServices\ComplexResultService.cs
+
+
+ Integration\RpcServices\ErrorsService.cs
+
+
+ Integration\RpcServices\LongValueTuplesCalleeService.cs
+
+
+ Integration\RpcServices\LongValueTuplesService.cs
+
+
+ Integration\RpcServices\NamedTupleComplexResultService.cs
+
+
+ Integration\RpcServices\PositionalTupleComplexResultService.cs
+
+
+ Integration\RpcServices\SlowSquareService.cs
+
+
+ Integration\RpcServices\TimeService.cs
+
+
+ Integration\PubSubSubjectTupleTests.cs
+
+
+ Integration\SerializedValue.cs
+
+
+ Integration\SharedRpcTests.cs
+
+
+ Integration\TestamentServiceTests.cs
+
+
+ Integration\WampCraAuthenticationTests.cs
+
+
+ RecordedTests\MockBuilder\WelcomeDetailsInterceptor.cs
+
+
+ RequestMapper.cs
+
+
+ TestHelpers\Integration\ChannelWithExtraData.cs
+
+
+ TestHelpers\Integration\MockTransport.cs
+
+
+ TestHelpers\Integration\WampAuthenticationPlayground.cs
+
+
+ TestHelpers\Integration\WampClientPlayground.cs
+
+
+ TestHelpers\Integration\WampPlayground.cs
+
+
+ TestHelpers\Integration\WampPlaygroundRoleExtensions.cs
+
+
+ TestHelpers\MockRawFormatter.cs
+
+
+ WampMessagePrinter.cs
+
+
+ Dealer\Call.cs
+
+
+ RecordedTests\BaseScenario.cs
+
+
+ RecordedTests\BrokerScenario.cs
+
+
+ RecordedTests\IntegrationTestsBase.cs
+
+
+ RecordedTests\BrokerIntegrationTests.cs
+
+
+ RecordedTests\DealerCall.cs
+
+
+ RecordedTests\DealerIntegrationTests.cs
+
+
+ RecordedTests\Channel.cs
+
+
+ RecordedTests\DealerScenario.cs
+
+
+ RecordedTests\MockBuilder\ResponsiveMessageRecorder.cs
+
+
+ RecordedTests\MockBuilder\RecordAndPlayRawInterceptor.cs
+
+
+ RecordedTests\MockClient.cs
+
+
+ MessageTypes.cs
+
+
+ Dealer\Registration.cs
+
+
+ Dealer\DealerTests.cs
+
+
+ RecordedTests\MockBuilder\IMessageMapper.cs
+
+
+ RecordedTests\MockBuilder\IMessagePlayer.cs
+
+
+ RecordedTests\MockBuilder\IMessageRecorder.cs
+
+
+ RecordedTests\MockBuilder\MessageMapper.cs
+
+
+ RecordedTests\MockBuilder\MessagePlayer.cs
+
+
+ RecordedTests\MockBuilder\CalleeMessagePlayer.cs
+
+
+ RecordedTests\MockBuilder\MessageRecorder.cs
+
+
+ RecordedTests\MockBuilder\NullInterceptor.cs
+
+
+ RecordedTests\MockBuilder\NullPlayer.cs
+
+
+ RecordedTests\MockBuilder\RecordAndPlayInterceptor.cs
+
+
+ RecordedTests\MockBuilder\SessionPropertyInterceptor.cs
+
+
+ RecordedTests\MockBuilder\WampMockClientBuilder.cs
+
+
+ RecordedTests\MockBuilder\MockClientInterceptorSelector.cs
+
+
+ TestHelpers\Rpc.cs
+
+
+ Properties\AssemblyInfo.cs
+
+
+ TestHelpers\PubSub.cs
+
+
+ WampMessageExtensions.cs
+
-
-
+
+ {2DBD5996-521B-4BD2-9ECF-35C5B9BC1A59}
+ WampSharp.NewtonsoftJson
+
+
+ {653A76DC-00D7-4EFF-A25E-2FA10C5C927D}
+ WampSharp
+
+
+ {78AB08FB-F75D-4F93-A25F-164BF90DD408}
+ WampSharp.Tests.TestHelpers
+
-
+
+
+
+
+
+ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
+
+
+
+
\ No newline at end of file
diff --git a/src/net40/Tests/WampSharp.Tests.Wampv2/packages.config b/src/net40/Tests/WampSharp.Tests.Wampv2/packages.config
new file mode 100644
index 000000000..82ad9ed40
--- /dev/null
+++ b/src/net40/Tests/WampSharp.Tests.Wampv2/packages.config
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/net40/Tests/WampSharp.Tests/WampSharp.Tests.csproj b/src/net40/Tests/WampSharp.Tests/WampSharp.Tests.csproj
index 998f8cdbe..f9784c514 100644
--- a/src/net40/Tests/WampSharp.Tests/WampSharp.Tests.csproj
+++ b/src/net40/Tests/WampSharp.Tests/WampSharp.Tests.csproj
@@ -1,6 +1,21 @@
-
+
+
+
+
- net45
+ Debug
+ AnyCPU
+ {D3FB3310-A761-45B5-AC4B-78FE90C2829C}
+ Library
+ Properties
+ WampSharp.Tests
+ WampSharp.Tests
+ v4.5
+ 512
+ ..\..\
+ true
+
+
true
@@ -20,20 +35,231 @@
prompt
4
-
-
-
-
-
+
+ False
+ ..\..\packages\Moq.4.2.1502.0911\lib\net40\Moq.dll
+
+
+ ..\..\packages\Newtonsoft.Json.6.0.5\lib\net45\Newtonsoft.Json.dll
+ True
+
+
+ ..\..\packages\NUnit.3.7.1\lib\net45\nunit.framework.dll
+
+
+
+
+ False
+ ..\..\packages\Rx-Core.2.2.5\lib\net40\System.Reactive.Core.dll
+
+
+ False
+ ..\..\packages\Rx-Interfaces.2.2.5\lib\net40\System.Reactive.Interfaces.dll
+
+
+ False
+ ..\..\packages\Rx-Linq.2.2.5\lib\net40\System.Reactive.Linq.dll
+
+
+ False
+ ..\..\packages\Rx-PlatformServices.2.2.5\lib\net40\System.Reactive.PlatformServices.dll
+
+
+
+
+
+
+
+
+
+ Api\PubSubTests.cs
+
+
+ Api\RpcClientTests.cs
+
+
+ Api\RpcServerTests.cs
+
+
+ Api\WampChannelTests.cs
+
+
+ Cra\CraTests.cs
+
+
+ Cra\Helpers\MockWampCraAuthenticaticationBuilder.cs
+
+
+ Cra\Helpers\MockWampCraAuthenticator.cs
+
+
+ Cra\Helpers\WampCraPlayground.cs
+
+
+ Cra\Helpers\WampCraProceduresExtensions.cs
+
+
+ DispatchTests.cs
+
+
+ Dispatch\Helpers\MockWampClient.cs
+
+
+ Dispatch\Helpers\MockWampServer.cs
+
+
+ Dispatch\Helpers\MockWampServerWithMissing.cs
+
+
+ Dispatch\WampRequestMapperTests.cs
+
+
+ ListenerTests.cs
+
+
+ MockListener.cs
+
+
+ Rpc\Helpers\MockRpcCatalog.cs
+
+
+ Rpc\Helpers\MockRpcMethod.cs
+
+
+ Rpc\Helpers\WampDelegateProcUriMapper.cs
+
+
+ Rpc\Helpers\MockClient.cs
+
+
+ Rpc\RpcServerTests.cs
+
+
+ TestHelpers\DummyConnection.cs
+
+
+ PubSub\Helpers\WampPublishRequest.cs
+
+
+ PubSub\Helpers\MockWampPubSubRequestManager.cs
+
+
+ PubSub\Helpers\WampSubscribeRequest.cs
+
+
+ PubSub\Helpers\WampUnsubscribeRequest.cs
+
+
+ PubSub\Helpers\MockWampPubSubServerProxyFactory.cs
+
+
+ PubSub\WampPubSubSubjectTests.cs
+
+
+ Rpc\Helpers\CallErrorDetails.cs
+
+
+ Rpc\Helpers\MockWampRpcCallDetails.cs
+
+
+ Rpc\Helpers\MockWampRpcCallManager.cs
+
+
+ Rpc\Helpers\MockWampRpcServerProxyFactory.cs
+
+
+ Properties\AssemblyInfo.cs
+
+
+ ClientServerIntegrationTests.cs
+
+
+ Proxy\Helpers\MockClientContainer.cs
+
+
+ Proxy\Helpers\MockOutgoingMessageHandler.cs
+
+
+ Proxy\Helpers\MockOutgoingMessageHandlerBuilder.cs
+
+
+ Proxy\WampOutgoingRequestSerializerTests.cs
+
+
+ Rpc\RpcCalls.cs
+
+
+ Rpc\WampRpcClientFactoryTests.cs
+
+
+ Rpc\WampRpcClientHandlerTests.cs
+
+
+ TestHelpers\Integration\WampPlayground.cs
+
+
+ TestHelpers\MockRawComparer.cs
+
+
+ Proxy\Helpers\MockSessionGuidGenerator.cs
+
+
+ Proxy\WampClientBuilderTests.cs
+
+
+ RpcTests.cs
+
+
+ TestHelpers\Method.cs
+
+
+ TestHelpers\MessagesArguments.cs
+
+
+ TestHelpers\WampMessageEqualityComparer.cs
+
+
+ TestHelpers\WampV1Messages.cs
+
+
+ TestHelpers\Messages.cs
+
-
-
-
-
+
-
+
+ {2DBD5996-521B-4BD2-9ECF-35C5B9BC1A59}
+ WampSharp.NewtonsoftJson
+
+
+ {78c5f5eb-de92-408e-87c7-6287bc8cc399}
+ WampSharp.WAMP1
+
+
+ {653a76dc-00d7-4eff-a25e-2fa10c5c927d}
+ WampSharp
+
+
+ {78AB08FB-F75D-4F93-A25F-164BF90DD408}
+ WampSharp.Tests.TestHelpers
+
-
\ No newline at end of file
+
+
+
+
+ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
+
+
+
+
+
diff --git a/src/net40/Tests/WampSharp.Tests/packages.config b/src/net40/Tests/WampSharp.Tests/packages.config
new file mode 100644
index 000000000..4b24515df
--- /dev/null
+++ b/src/net40/Tests/WampSharp.Tests/packages.config
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file