renaming of VS projects and other minor structural fixes
diff --git a/src/csharp/GrpcApiTests/.gitignore b/src/csharp/Grpc.Api.Tests/.gitignore
similarity index 100%
rename from src/csharp/GrpcApiTests/.gitignore
rename to src/csharp/Grpc.Api.Tests/.gitignore
diff --git a/src/csharp/GrpcApiTests/GrpcApiTests.csproj b/src/csharp/Grpc.Api.Tests/Grpc.Api.Tests.csproj
similarity index 82%
rename from src/csharp/GrpcApiTests/GrpcApiTests.csproj
rename to src/csharp/Grpc.Api.Tests/Grpc.Api.Tests.csproj
index cb955cf..93c3b68 100644
--- a/src/csharp/GrpcApiTests/GrpcApiTests.csproj
+++ b/src/csharp/Grpc.Api.Tests/Grpc.Api.Tests.csproj
@@ -7,8 +7,8 @@
     <SchemaVersion>2.0</SchemaVersion>
     <ProjectGuid>{143B1C29-C442-4BE0-BF3F-A8F92288AC9F}</ProjectGuid>
     <OutputType>Library</OutputType>
-    <RootNamespace>GrpcApiTests</RootNamespace>
-    <AssemblyName>GrpcApiTests</AssemblyName>
+    <RootNamespace>Grpc.Api.Tests</RootNamespace>
+    <AssemblyName>Grpc.Api.Tests</AssemblyName>
     <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
@@ -30,14 +30,13 @@
     <ConsolePause>false</ConsolePause>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="Google.ProtocolBuffers, Version=2.4.1.521, Culture=neutral, PublicKeyToken=55f7125234beb589, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\packages\Google.ProtocolBuffers.2.4.1.521\lib\net40\Google.ProtocolBuffers.dll</HintPath>
-    </Reference>
     <Reference Include="nunit.framework">
       <HintPath>..\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath>
     </Reference>
     <Reference Include="System" />
+    <Reference Include="Google.ProtocolBuffers">
+      <HintPath>..\packages\Google.ProtocolBuffers.2.4.1.521\lib\net40\Google.ProtocolBuffers.dll</HintPath>
+    </Reference>
   </ItemGroup>
   <ItemGroup>
     <Compile Include="Properties\AssemblyInfo.cs" />
@@ -45,13 +44,13 @@
   </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   <ItemGroup>
-    <ProjectReference Include="..\GrpcApi\GrpcApi.csproj">
-      <Project>{7DC1433E-3225-42C7-B7EA-546D56E27A4B}</Project>
-      <Name>GrpcApi</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\GrpcCore\GrpcCore.csproj">
+    <ProjectReference Include="..\Grpc.Core\Grpc.Core.csproj">
       <Project>{CCC4440E-49F7-4790-B0AF-FEABB0837AE7}</Project>
-      <Name>GrpcCore</Name>
+      <Name>Grpc.Core</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\Grpc.Api\Grpc.Api.csproj">
+      <Project>{7DC1433E-3225-42C7-B7EA-546D56E27A4B}</Project>
+      <Name>Grpc.Api</Name>
     </ProjectReference>
   </ItemGroup>
   <ItemGroup>
diff --git a/src/csharp/GrpcApiTests/MathClientServerTests.cs b/src/csharp/Grpc.Api.Tests/MathClientServerTests.cs
similarity index 100%
rename from src/csharp/GrpcApiTests/MathClientServerTests.cs
rename to src/csharp/Grpc.Api.Tests/MathClientServerTests.cs
diff --git a/src/csharp/GrpcApiTests/Properties/AssemblyInfo.cs b/src/csharp/Grpc.Api.Tests/Properties/AssemblyInfo.cs
similarity index 95%
copy from src/csharp/GrpcApiTests/Properties/AssemblyInfo.cs
copy to src/csharp/Grpc.Api.Tests/Properties/AssemblyInfo.cs
index 5f6c467..35ac86d 100644
--- a/src/csharp/GrpcApiTests/Properties/AssemblyInfo.cs
+++ b/src/csharp/Grpc.Api.Tests/Properties/AssemblyInfo.cs
@@ -3,7 +3,7 @@
 
 // Information about this assembly is defined by the following attributes.
 // Change them to the values specific to your project.
-[assembly: AssemblyTitle("GrpcApiTests")]
+[assembly: AssemblyTitle("Grpc.Api.Tests")]
 [assembly: AssemblyDescription("")]
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyCompany("")]
diff --git a/src/csharp/GrpcApiTests/packages.config b/src/csharp/Grpc.Api.Tests/packages.config
similarity index 100%
rename from src/csharp/GrpcApiTests/packages.config
rename to src/csharp/Grpc.Api.Tests/packages.config
diff --git a/src/csharp/GrpcApi/.gitignore b/src/csharp/Grpc.Api/.gitignore
similarity index 100%
rename from src/csharp/GrpcApi/.gitignore
rename to src/csharp/Grpc.Api/.gitignore
diff --git a/src/csharp/GrpcApi/Empty.cs b/src/csharp/Grpc.Api/Empty.cs
similarity index 100%
rename from src/csharp/GrpcApi/Empty.cs
rename to src/csharp/Grpc.Api/Empty.cs
diff --git a/src/csharp/GrpcApi/GrpcApi.csproj b/src/csharp/Grpc.Api/Grpc.Api.csproj
similarity index 88%
rename from src/csharp/GrpcApi/GrpcApi.csproj
rename to src/csharp/Grpc.Api/Grpc.Api.csproj
index 5a4ae67..aa6e872 100644
--- a/src/csharp/GrpcApi/GrpcApi.csproj
+++ b/src/csharp/Grpc.Api/Grpc.Api.csproj
@@ -7,8 +7,8 @@
     <SchemaVersion>2.0</SchemaVersion>
     <ProjectGuid>{7DC1433E-3225-42C7-B7EA-546D56E27A4B}</ProjectGuid>
     <OutputType>Library</OutputType>
-    <RootNamespace>GrpcApi</RootNamespace>
-    <AssemblyName>GrpcApi</AssemblyName>
+    <RootNamespace>Grpc.Api</RootNamespace>
+    <AssemblyName>Grpc.Api</AssemblyName>
     <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
@@ -30,10 +30,6 @@
     <ConsolePause>false</ConsolePause>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="Google.ProtocolBuffers, Version=2.4.1.521, Culture=neutral, PublicKeyToken=55f7125234beb589, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\packages\Google.ProtocolBuffers.2.4.1.521\lib\net40\Google.ProtocolBuffers.dll</HintPath>
-    </Reference>
     <Reference Include="System" />
     <Reference Include="System.Reactive.Core">
       <HintPath>..\packages\Rx-Core.2.2.5\lib\net45\System.Reactive.Core.dll</HintPath>
@@ -48,6 +44,9 @@
     <Reference Include="System.Reactive.PlatformServices">
       <HintPath>..\packages\Rx-PlatformServices.2.2.5\lib\net45\System.Reactive.PlatformServices.dll</HintPath>
     </Reference>
+    <Reference Include="Google.ProtocolBuffers">
+      <HintPath>..\packages\Google.ProtocolBuffers.2.4.1.521\lib\net40\Google.ProtocolBuffers.dll</HintPath>
+    </Reference>
   </ItemGroup>
   <ItemGroup>
     <Compile Include="Properties\AssemblyInfo.cs" />
@@ -61,9 +60,9 @@
   </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   <ItemGroup>
-    <ProjectReference Include="..\GrpcCore\GrpcCore.csproj">
+    <ProjectReference Include="..\Grpc.Core\Grpc.Core.csproj">
       <Project>{CCC4440E-49F7-4790-B0AF-FEABB0837AE7}</Project>
-      <Name>GrpcCore</Name>
+      <Name>Grpc.Core</Name>
     </ProjectReference>
   </ItemGroup>
   <ItemGroup>
diff --git a/src/csharp/GrpcApi/Math.cs b/src/csharp/Grpc.Api/Math.cs
similarity index 100%
rename from src/csharp/GrpcApi/Math.cs
rename to src/csharp/Grpc.Api/Math.cs
diff --git a/src/csharp/GrpcApi/MathExamples.cs b/src/csharp/Grpc.Api/MathExamples.cs
similarity index 100%
rename from src/csharp/GrpcApi/MathExamples.cs
rename to src/csharp/Grpc.Api/MathExamples.cs
diff --git a/src/csharp/GrpcApi/MathGrpc.cs b/src/csharp/Grpc.Api/MathGrpc.cs
similarity index 100%
rename from src/csharp/GrpcApi/MathGrpc.cs
rename to src/csharp/Grpc.Api/MathGrpc.cs
diff --git a/src/csharp/GrpcApi/MathServiceImpl.cs b/src/csharp/Grpc.Api/MathServiceImpl.cs
similarity index 100%
rename from src/csharp/GrpcApi/MathServiceImpl.cs
rename to src/csharp/Grpc.Api/MathServiceImpl.cs
diff --git a/src/csharp/GrpcApi/Messages.cs b/src/csharp/Grpc.Api/Messages.cs
similarity index 100%
rename from src/csharp/GrpcApi/Messages.cs
rename to src/csharp/Grpc.Api/Messages.cs
diff --git a/src/csharp/GrpcApi/Properties/AssemblyInfo.cs b/src/csharp/Grpc.Api/Properties/AssemblyInfo.cs
similarity index 95%
rename from src/csharp/GrpcApi/Properties/AssemblyInfo.cs
rename to src/csharp/Grpc.Api/Properties/AssemblyInfo.cs
index 23fa101..cef3a98 100644
--- a/src/csharp/GrpcApi/Properties/AssemblyInfo.cs
+++ b/src/csharp/Grpc.Api/Properties/AssemblyInfo.cs
@@ -3,7 +3,7 @@
 
 // Information about this assembly is defined by the following attributes.
 // Change them to the values specific to your project.
-[assembly: AssemblyTitle ("GrpcApi")]
+[assembly: AssemblyTitle ("Grpc.Api")]
 [assembly: AssemblyDescription ("")]
 [assembly: AssemblyConfiguration ("")]
 [assembly: AssemblyCompany ("")]
diff --git a/src/csharp/GrpcApi/TestServiceGrpc.cs b/src/csharp/Grpc.Api/TestServiceGrpc.cs
similarity index 100%
rename from src/csharp/GrpcApi/TestServiceGrpc.cs
rename to src/csharp/Grpc.Api/TestServiceGrpc.cs
diff --git a/src/csharp/GrpcApi/packages.config b/src/csharp/Grpc.Api/packages.config
similarity index 100%
rename from src/csharp/GrpcApi/packages.config
rename to src/csharp/Grpc.Api/packages.config
diff --git a/src/csharp/GrpcApi/proto/empty.proto b/src/csharp/Grpc.Api/proto/empty.proto
similarity index 100%
rename from src/csharp/GrpcApi/proto/empty.proto
rename to src/csharp/Grpc.Api/proto/empty.proto
diff --git a/src/csharp/GrpcApi/proto/math.proto b/src/csharp/Grpc.Api/proto/math.proto
similarity index 100%
rename from src/csharp/GrpcApi/proto/math.proto
rename to src/csharp/Grpc.Api/proto/math.proto
diff --git a/src/csharp/GrpcApi/proto/messages.proto b/src/csharp/Grpc.Api/proto/messages.proto
similarity index 100%
rename from src/csharp/GrpcApi/proto/messages.proto
rename to src/csharp/Grpc.Api/proto/messages.proto
diff --git a/src/csharp/GrpcApi/proto/test.proto b/src/csharp/Grpc.Api/proto/test.proto
similarity index 100%
rename from src/csharp/GrpcApi/proto/test.proto
rename to src/csharp/Grpc.Api/proto/test.proto
diff --git a/src/csharp/GrpcCoreTests/.gitignore b/src/csharp/Grpc.Core.Tests/.gitignore
similarity index 100%
rename from src/csharp/GrpcCoreTests/.gitignore
rename to src/csharp/Grpc.Core.Tests/.gitignore
diff --git a/src/csharp/GrpcCoreTests/ClientServerTest.cs b/src/csharp/Grpc.Core.Tests/ClientServerTest.cs
similarity index 100%
rename from src/csharp/GrpcCoreTests/ClientServerTest.cs
rename to src/csharp/Grpc.Core.Tests/ClientServerTest.cs
diff --git a/src/csharp/GrpcCoreTests/GrpcCoreTests.csproj b/src/csharp/Grpc.Core.Tests/Grpc.Core.Tests.csproj
similarity index 91%
rename from src/csharp/GrpcCoreTests/GrpcCoreTests.csproj
rename to src/csharp/Grpc.Core.Tests/Grpc.Core.Tests.csproj
index ca52cd8..687be3c 100644
--- a/src/csharp/GrpcCoreTests/GrpcCoreTests.csproj
+++ b/src/csharp/Grpc.Core.Tests/Grpc.Core.Tests.csproj
@@ -7,8 +7,8 @@
     <SchemaVersion>2.0</SchemaVersion>
     <ProjectGuid>{86EC5CB4-4EA2-40A2-8057-86542A0353BB}</ProjectGuid>
     <OutputType>Library</OutputType>
-    <RootNamespace>GrpcCoreTests</RootNamespace>
-    <AssemblyName>GrpcCoreTests</AssemblyName>
+    <RootNamespace>Grpc.Core.Tests</RootNamespace>
+    <AssemblyName>Grpc.Core.Tests</AssemblyName>
     <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
@@ -44,9 +44,9 @@
   </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   <ItemGroup>
-    <ProjectReference Include="..\GrpcCore\GrpcCore.csproj">
+    <ProjectReference Include="..\Grpc.Core\Grpc.Core.csproj">
       <Project>{CCC4440E-49F7-4790-B0AF-FEABB0837AE7}</Project>
-      <Name>GrpcCore</Name>
+      <Name>Grpc.Core</Name>
     </ProjectReference>
   </ItemGroup>
   <ItemGroup>
diff --git a/src/csharp/GrpcCoreTests/GrpcEnvironmentTest.cs b/src/csharp/Grpc.Core.Tests/GrpcEnvironmentTest.cs
similarity index 100%
rename from src/csharp/GrpcCoreTests/GrpcEnvironmentTest.cs
rename to src/csharp/Grpc.Core.Tests/GrpcEnvironmentTest.cs
diff --git a/src/csharp/GrpcApiTests/Properties/AssemblyInfo.cs b/src/csharp/Grpc.Core.Tests/Properties/AssemblyInfo.cs
similarity index 95%
rename from src/csharp/GrpcApiTests/Properties/AssemblyInfo.cs
rename to src/csharp/Grpc.Core.Tests/Properties/AssemblyInfo.cs
index 5f6c467..499d931 100644
--- a/src/csharp/GrpcApiTests/Properties/AssemblyInfo.cs
+++ b/src/csharp/Grpc.Core.Tests/Properties/AssemblyInfo.cs
@@ -3,7 +3,7 @@
 
 // Information about this assembly is defined by the following attributes.
 // Change them to the values specific to your project.
-[assembly: AssemblyTitle("GrpcApiTests")]
+[assembly: AssemblyTitle("Grpc.Core.Tests")]
 [assembly: AssemblyDescription("")]
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyCompany("")]
diff --git a/src/csharp/GrpcCoreTests/ServerTest.cs b/src/csharp/Grpc.Core.Tests/ServerTest.cs
similarity index 100%
rename from src/csharp/GrpcCoreTests/ServerTest.cs
rename to src/csharp/Grpc.Core.Tests/ServerTest.cs
diff --git a/src/csharp/GrpcCoreTests/TestResult.xml b/src/csharp/Grpc.Core.Tests/TestResult.xml
similarity index 100%
rename from src/csharp/GrpcCoreTests/TestResult.xml
rename to src/csharp/Grpc.Core.Tests/TestResult.xml
diff --git a/src/csharp/GrpcCoreTests/TimespecTest.cs b/src/csharp/Grpc.Core.Tests/TimespecTest.cs
similarity index 100%
rename from src/csharp/GrpcCoreTests/TimespecTest.cs
rename to src/csharp/Grpc.Core.Tests/TimespecTest.cs
diff --git a/src/csharp/GrpcCoreTests/packages.config b/src/csharp/Grpc.Core.Tests/packages.config
similarity index 100%
rename from src/csharp/GrpcCoreTests/packages.config
rename to src/csharp/Grpc.Core.Tests/packages.config
diff --git a/src/csharp/GrpcCore/.gitignore b/src/csharp/Grpc.Core/.gitignore
similarity index 100%
rename from src/csharp/GrpcCore/.gitignore
rename to src/csharp/Grpc.Core/.gitignore
diff --git a/src/csharp/GrpcCore/Call.cs b/src/csharp/Grpc.Core/Call.cs
similarity index 100%
rename from src/csharp/GrpcCore/Call.cs
rename to src/csharp/Grpc.Core/Call.cs
diff --git a/src/csharp/GrpcCore/Calls.cs b/src/csharp/Grpc.Core/Calls.cs
similarity index 100%
rename from src/csharp/GrpcCore/Calls.cs
rename to src/csharp/Grpc.Core/Calls.cs
diff --git a/src/csharp/GrpcCore/Channel.cs b/src/csharp/Grpc.Core/Channel.cs
similarity index 100%
rename from src/csharp/GrpcCore/Channel.cs
rename to src/csharp/Grpc.Core/Channel.cs
diff --git a/src/csharp/GrpcCore/ClientStreamingAsyncResult.cs b/src/csharp/Grpc.Core/ClientStreamingAsyncResult.cs
similarity index 100%
rename from src/csharp/GrpcCore/ClientStreamingAsyncResult.cs
rename to src/csharp/Grpc.Core/ClientStreamingAsyncResult.cs
diff --git a/src/csharp/GrpcCore/GrpcCore.csproj b/src/csharp/Grpc.Core/Grpc.Core.csproj
similarity index 96%
rename from src/csharp/GrpcCore/GrpcCore.csproj
rename to src/csharp/Grpc.Core/Grpc.Core.csproj
index ee76b74..4ad32e1 100644
--- a/src/csharp/GrpcCore/GrpcCore.csproj
+++ b/src/csharp/Grpc.Core/Grpc.Core.csproj
@@ -7,8 +7,8 @@
     <SchemaVersion>2.0</SchemaVersion>
     <ProjectGuid>{CCC4440E-49F7-4790-B0AF-FEABB0837AE7}</ProjectGuid>
     <OutputType>Library</OutputType>
-    <RootNamespace>GrpcCore</RootNamespace>
-    <AssemblyName>GrpcCore</AssemblyName>
+    <RootNamespace>Grpc.Core</RootNamespace>
+    <AssemblyName>Grpc.Core</AssemblyName>
     <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
diff --git a/src/csharp/GrpcCore/GrpcEnvironment.cs b/src/csharp/Grpc.Core/GrpcEnvironment.cs
similarity index 100%
rename from src/csharp/GrpcCore/GrpcEnvironment.cs
rename to src/csharp/Grpc.Core/GrpcEnvironment.cs
diff --git a/src/csharp/GrpcCore/Internal/AsyncCall.cs b/src/csharp/Grpc.Core/Internal/AsyncCall.cs
similarity index 100%
rename from src/csharp/GrpcCore/Internal/AsyncCall.cs
rename to src/csharp/Grpc.Core/Internal/AsyncCall.cs
diff --git a/src/csharp/GrpcCore/Internal/BatchContextSafeHandleNotOwned.cs b/src/csharp/Grpc.Core/Internal/BatchContextSafeHandleNotOwned.cs
similarity index 100%
rename from src/csharp/GrpcCore/Internal/BatchContextSafeHandleNotOwned.cs
rename to src/csharp/Grpc.Core/Internal/BatchContextSafeHandleNotOwned.cs
diff --git a/src/csharp/GrpcCore/Internal/CallSafeHandle.cs b/src/csharp/Grpc.Core/Internal/CallSafeHandle.cs
similarity index 100%
rename from src/csharp/GrpcCore/Internal/CallSafeHandle.cs
rename to src/csharp/Grpc.Core/Internal/CallSafeHandle.cs
diff --git a/src/csharp/GrpcCore/Internal/ChannelSafeHandle.cs b/src/csharp/Grpc.Core/Internal/ChannelSafeHandle.cs
similarity index 100%
rename from src/csharp/GrpcCore/Internal/ChannelSafeHandle.cs
rename to src/csharp/Grpc.Core/Internal/ChannelSafeHandle.cs
diff --git a/src/csharp/GrpcCore/Internal/ClientStreamingInputObserver.cs b/src/csharp/Grpc.Core/Internal/ClientStreamingInputObserver.cs
similarity index 100%
rename from src/csharp/GrpcCore/Internal/ClientStreamingInputObserver.cs
rename to src/csharp/Grpc.Core/Internal/ClientStreamingInputObserver.cs
diff --git a/src/csharp/GrpcCore/Internal/CompletionQueueSafeHandle.cs b/src/csharp/Grpc.Core/Internal/CompletionQueueSafeHandle.cs
similarity index 100%
rename from src/csharp/GrpcCore/Internal/CompletionQueueSafeHandle.cs
rename to src/csharp/Grpc.Core/Internal/CompletionQueueSafeHandle.cs
diff --git a/src/csharp/GrpcCore/Internal/Enums.cs b/src/csharp/Grpc.Core/Internal/Enums.cs
similarity index 100%
rename from src/csharp/GrpcCore/Internal/Enums.cs
rename to src/csharp/Grpc.Core/Internal/Enums.cs
diff --git a/src/csharp/GrpcCore/Internal/GrpcThreadPool.cs b/src/csharp/Grpc.Core/Internal/GrpcThreadPool.cs
similarity index 100%
rename from src/csharp/GrpcCore/Internal/GrpcThreadPool.cs
rename to src/csharp/Grpc.Core/Internal/GrpcThreadPool.cs
diff --git a/src/csharp/GrpcCore/Internal/SafeHandleZeroIsInvalid.cs b/src/csharp/Grpc.Core/Internal/SafeHandleZeroIsInvalid.cs
similarity index 100%
rename from src/csharp/GrpcCore/Internal/SafeHandleZeroIsInvalid.cs
rename to src/csharp/Grpc.Core/Internal/SafeHandleZeroIsInvalid.cs
diff --git a/src/csharp/GrpcCore/Internal/ServerSafeHandle.cs b/src/csharp/Grpc.Core/Internal/ServerSafeHandle.cs
similarity index 100%
rename from src/csharp/GrpcCore/Internal/ServerSafeHandle.cs
rename to src/csharp/Grpc.Core/Internal/ServerSafeHandle.cs
diff --git a/src/csharp/GrpcCore/Internal/ServerStreamingOutputObserver.cs b/src/csharp/Grpc.Core/Internal/ServerStreamingOutputObserver.cs
similarity index 100%
rename from src/csharp/GrpcCore/Internal/ServerStreamingOutputObserver.cs
rename to src/csharp/Grpc.Core/Internal/ServerStreamingOutputObserver.cs
diff --git a/src/csharp/GrpcCore/Internal/Timespec.cs b/src/csharp/Grpc.Core/Internal/Timespec.cs
similarity index 100%
rename from src/csharp/GrpcCore/Internal/Timespec.cs
rename to src/csharp/Grpc.Core/Internal/Timespec.cs
diff --git a/src/csharp/GrpcCore/Marshaller.cs b/src/csharp/Grpc.Core/Marshaller.cs
similarity index 100%
rename from src/csharp/GrpcCore/Marshaller.cs
rename to src/csharp/Grpc.Core/Marshaller.cs
diff --git a/src/csharp/GrpcCore/Method.cs b/src/csharp/Grpc.Core/Method.cs
similarity index 100%
rename from src/csharp/GrpcCore/Method.cs
rename to src/csharp/Grpc.Core/Method.cs
diff --git a/src/csharp/GrpcCore/Properties/AssemblyInfo.cs b/src/csharp/Grpc.Core/Properties/AssemblyInfo.cs
similarity index 91%
rename from src/csharp/GrpcCore/Properties/AssemblyInfo.cs
rename to src/csharp/Grpc.Core/Properties/AssemblyInfo.cs
index b3b9766..37ba1e2 100644
--- a/src/csharp/GrpcCore/Properties/AssemblyInfo.cs
+++ b/src/csharp/Grpc.Core/Properties/AssemblyInfo.cs
@@ -3,7 +3,7 @@
 
 // Information about this assembly is defined by the following attributes.
 // Change them to the values specific to your project.
-[assembly: AssemblyTitle ("GrpcCore")]
+[assembly: AssemblyTitle ("Grpc.Core")]
 [assembly: AssemblyDescription ("")]
 [assembly: AssemblyConfiguration ("")]
 [assembly: AssemblyCompany ("")]
@@ -20,5 +20,5 @@
 //[assembly: AssemblyDelaySign(false)]
 //[assembly: AssemblyKeyFile("")]
 
-[assembly: InternalsVisibleTo("GrpcCoreTests")]
+[assembly: InternalsVisibleTo("Grpc.Core.Tests")]
 
diff --git a/src/csharp/GrpcCore/RpcException.cs b/src/csharp/Grpc.Core/RpcException.cs
similarity index 100%
rename from src/csharp/GrpcCore/RpcException.cs
rename to src/csharp/Grpc.Core/RpcException.cs
diff --git a/src/csharp/GrpcCore/Server.cs b/src/csharp/Grpc.Core/Server.cs
similarity index 100%
rename from src/csharp/GrpcCore/Server.cs
rename to src/csharp/Grpc.Core/Server.cs
diff --git a/src/csharp/GrpcCore/ServerCallHandler.cs b/src/csharp/Grpc.Core/ServerCallHandler.cs
similarity index 100%
rename from src/csharp/GrpcCore/ServerCallHandler.cs
rename to src/csharp/Grpc.Core/ServerCallHandler.cs
diff --git a/src/csharp/GrpcCore/ServerCalls.cs b/src/csharp/Grpc.Core/ServerCalls.cs
similarity index 100%
rename from src/csharp/GrpcCore/ServerCalls.cs
rename to src/csharp/Grpc.Core/ServerCalls.cs
diff --git a/src/csharp/GrpcCore/ServerServiceDefinition.cs b/src/csharp/Grpc.Core/ServerServiceDefinition.cs
similarity index 100%
rename from src/csharp/GrpcCore/ServerServiceDefinition.cs
rename to src/csharp/Grpc.Core/ServerServiceDefinition.cs
diff --git a/src/csharp/GrpcCore/Status.cs b/src/csharp/Grpc.Core/Status.cs
similarity index 100%
rename from src/csharp/GrpcCore/Status.cs
rename to src/csharp/Grpc.Core/Status.cs
diff --git a/src/csharp/GrpcCore/StatusCode.cs b/src/csharp/Grpc.Core/StatusCode.cs
similarity index 100%
rename from src/csharp/GrpcCore/StatusCode.cs
rename to src/csharp/Grpc.Core/StatusCode.cs
diff --git a/src/csharp/GrpcCore/Utils/RecordingObserver.cs b/src/csharp/Grpc.Core/Utils/RecordingObserver.cs
similarity index 100%
rename from src/csharp/GrpcCore/Utils/RecordingObserver.cs
rename to src/csharp/Grpc.Core/Utils/RecordingObserver.cs
diff --git a/src/csharp/GrpcCore/Utils/RecordingQueue.cs b/src/csharp/Grpc.Core/Utils/RecordingQueue.cs
similarity index 100%
rename from src/csharp/GrpcCore/Utils/RecordingQueue.cs
rename to src/csharp/Grpc.Core/Utils/RecordingQueue.cs
diff --git a/src/csharp/GrpcCore/.gitignore b/src/csharp/Grpc.IntegrationTesting/.gitignore
similarity index 100%
copy from src/csharp/GrpcCore/.gitignore
copy to src/csharp/Grpc.IntegrationTesting/.gitignore
diff --git a/src/csharp/InteropClient/Client.cs b/src/csharp/Grpc.IntegrationTesting/Client.cs
similarity index 99%
rename from src/csharp/InteropClient/Client.cs
rename to src/csharp/Grpc.IntegrationTesting/Client.cs
index fdec6ef..bb650a1 100644
--- a/src/csharp/InteropClient/Client.cs
+++ b/src/csharp/Grpc.IntegrationTesting/Client.cs
@@ -40,7 +40,7 @@
 using NUnit.Framework;
 using grpc.testing;
 
-namespace Grpc.Interop
+namespace Grpc.IntegrationTesting
 {
     class Client
     {
diff --git a/src/csharp/InteropClient/InteropClient.csproj b/src/csharp/Grpc.IntegrationTesting/Grpc.IntegrationTesting.csproj
similarity index 85%
rename from src/csharp/InteropClient/InteropClient.csproj
rename to src/csharp/Grpc.IntegrationTesting/Grpc.IntegrationTesting.csproj
index 29590f4..6fcee0f 100644
--- a/src/csharp/InteropClient/InteropClient.csproj
+++ b/src/csharp/Grpc.IntegrationTesting/Grpc.IntegrationTesting.csproj
@@ -7,9 +7,9 @@
     <SchemaVersion>2.0</SchemaVersion>
     <ProjectGuid>{C61154BA-DD4A-4838-8420-0162A28925E0}</ProjectGuid>
     <OutputType>Exe</OutputType>
-    <RootNamespace>InteropClient</RootNamespace>
-    <AssemblyName>InteropClient</AssemblyName>
-    <StartupObject>Grpc.Interop.Client</StartupObject>
+    <RootNamespace>Grpc.IntegrationTesting</RootNamespace>
+    <AssemblyName>Grpc.IntegrationTesting</AssemblyName>
+    <StartupObject>Grpc.IntegrationTesting.Client</StartupObject>
     <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
@@ -47,16 +47,16 @@
   </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   <ItemGroup>
-    <ProjectReference Include="..\GrpcCore\GrpcCore.csproj">
+    <ProjectReference Include="..\Grpc.Core\Grpc.Core.csproj">
       <Project>{CCC4440E-49F7-4790-B0AF-FEABB0837AE7}</Project>
-      <Name>GrpcCore</Name>
+      <Name>Grpc.Core</Name>
     </ProjectReference>
-    <ProjectReference Include="..\GrpcApi\GrpcApi.csproj">
+    <ProjectReference Include="..\Grpc.Api\Grpc.Api.csproj">
       <Project>{7DC1433E-3225-42C7-B7EA-546D56E27A4B}</Project>
-      <Name>GrpcApi</Name>
+      <Name>Grpc.Api</Name>
     </ProjectReference>
   </ItemGroup>
   <ItemGroup>
     <None Include="packages.config" />
   </ItemGroup>
-</Project>
\ No newline at end of file
+</Project>
diff --git a/src/csharp/GrpcApiTests/Properties/AssemblyInfo.cs b/src/csharp/Grpc.IntegrationTesting/Properties/AssemblyInfo.cs
similarity index 94%
copy from src/csharp/GrpcApiTests/Properties/AssemblyInfo.cs
copy to src/csharp/Grpc.IntegrationTesting/Properties/AssemblyInfo.cs
index 5f6c467..f633c19 100644
--- a/src/csharp/GrpcApiTests/Properties/AssemblyInfo.cs
+++ b/src/csharp/Grpc.IntegrationTesting/Properties/AssemblyInfo.cs
@@ -3,7 +3,7 @@
 
 // Information about this assembly is defined by the following attributes.
 // Change them to the values specific to your project.
-[assembly: AssemblyTitle("GrpcApiTests")]
+[assembly: AssemblyTitle("Grpc.IntegrationTesting")]
 [assembly: AssemblyDescription("")]
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyCompany("")]
diff --git a/src/csharp/GrpcApiTests/packages.config b/src/csharp/Grpc.IntegrationTesting/packages.config
similarity index 100%
copy from src/csharp/GrpcApiTests/packages.config
copy to src/csharp/Grpc.IntegrationTesting/packages.config
diff --git a/src/csharp/Grpc.sln b/src/csharp/Grpc.sln
index a7b2c9b..7022c54 100644
--- a/src/csharp/Grpc.sln
+++ b/src/csharp/Grpc.sln
@@ -1,17 +1,17 @@
 

 Microsoft Visual Studio Solution File, Format Version 11.00

 # Visual Studio 2010

-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GrpcApi", "GrpcApi\GrpcApi.csproj", "{7DC1433E-3225-42C7-B7EA-546D56E27A4B}"

+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Grpc.Api", "Grpc.Api\Grpc.Api.csproj", "{7DC1433E-3225-42C7-B7EA-546D56E27A4B}"

 EndProject

-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GrpcCore", "GrpcCore\GrpcCore.csproj", "{CCC4440E-49F7-4790-B0AF-FEABB0837AE7}"

+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Grpc.Core", "Grpc.Core\Grpc.Core.csproj", "{CCC4440E-49F7-4790-B0AF-FEABB0837AE7}"

 EndProject

-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GrpcCoreTests", "GrpcCoreTests\GrpcCoreTests.csproj", "{86EC5CB4-4EA2-40A2-8057-86542A0353BB}"

+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Grpc.Core.Tests", "Grpc.Core.Tests\Grpc.Core.Tests.csproj", "{86EC5CB4-4EA2-40A2-8057-86542A0353BB}"

 EndProject

-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GrpcApiTests", "GrpcApiTests\GrpcApiTests.csproj", "{143B1C29-C442-4BE0-BF3F-A8F92288AC9F}"

+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Grpc.Api.Tests", "Grpc.Api.Tests\Grpc.Api.Tests.csproj", "{143B1C29-C442-4BE0-BF3F-A8F92288AC9F}"

 EndProject

 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MathClient", "MathClient\MathClient.csproj", "{61ECB8EE-0C96-4F8E-B187-8E4D227417C0}"

 EndProject

-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InteropClient", "InteropClient\InteropClient.csproj", "{C61154BA-DD4A-4838-8420-0162A28925E0}"

+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Grpc.IntegrationTesting", "Grpc.IntegrationTesting\Grpc.IntegrationTesting.csproj", "{C61154BA-DD4A-4838-8420-0162A28925E0}"

 EndProject

 Global

 	GlobalSection(SolutionConfigurationPlatforms) = preSolution

@@ -45,6 +45,6 @@
 		{CCC4440E-49F7-4790-B0AF-FEABB0837AE7}.Release|x86.Build.0 = Release|Any CPU

 	EndGlobalSection

 	GlobalSection(MonoDevelopProperties) = preSolution

-		StartupItem = InteropClient\InteropClient.csproj

+		StartupItem = Grpc.Api\Grpc.Api.csproj

 	EndGlobalSection

 EndGlobal

diff --git a/src/csharp/GrpcCoreTests/Properties/AssemblyInfo.cs b/src/csharp/GrpcCoreTests/Properties/AssemblyInfo.cs
deleted file mode 100644
index 6d697d0..0000000
--- a/src/csharp/GrpcCoreTests/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-// Information about this assembly is defined by the following attributes.
-// Change them to the values specific to your project.
-[assembly: AssemblyTitle("GrpcCoreTests")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("")]
-[assembly: AssemblyCopyright("Google Inc.  All rights reserved.")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
-// The form "{Major}.{Minor}.*" will automatically update the build and revision,
-// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-[assembly: AssemblyVersion("0.1.*")]
-// The following attributes are used to specify the signing key for the assembly,
-// if desired. See the Mono documentation for more information about signing.
-//[assembly: AssemblyDelaySign(false)]
-//[assembly: AssemblyKeyFile("")]
-
diff --git a/src/csharp/InteropClient/.gitignore b/src/csharp/InteropClient/.gitignore
deleted file mode 100644
index 8d4a6c0..0000000
--- a/src/csharp/InteropClient/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-obj
\ No newline at end of file
diff --git a/src/csharp/InteropClient/Properties/AssemblyInfo.cs b/src/csharp/InteropClient/Properties/AssemblyInfo.cs
deleted file mode 100644
index c7184d7..0000000
--- a/src/csharp/InteropClient/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-// Information about this assembly is defined by the following attributes.
-// Change them to the values specific to your project.
-[assembly: AssemblyTitle("InteropClient")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("")]
-[assembly: AssemblyCopyright("Google Inc.  All rights reserved.")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
-// The form "{Major}.{Minor}.*" will automatically update the build and revision,
-// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-[assembly: AssemblyVersion("0.1.*")]
-// The following attributes are used to specify the signing key for the assembly,
-// if desired. See the Mono documentation for more information about signing.
-//[assembly: AssemblyDelaySign(false)]
-//[assembly: AssemblyKeyFile("")]
-
diff --git a/src/csharp/InteropClient/packages.config b/src/csharp/InteropClient/packages.config
deleted file mode 100644
index 51c17bc..0000000
--- a/src/csharp/InteropClient/packages.config
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<packages>
-  <package id="Google.ProtocolBuffers" version="2.4.1.521" targetFramework="net45" />
-  <package id="NUnit" version="2.6.4" targetFramework="net45" />
-</packages>
\ No newline at end of file
diff --git a/src/csharp/MathClient/MathClient.csproj b/src/csharp/MathClient/MathClient.csproj
index 7421365..448ef13 100644
--- a/src/csharp/MathClient/MathClient.csproj
+++ b/src/csharp/MathClient/MathClient.csproj
@@ -7,8 +7,8 @@
     <SchemaVersion>2.0</SchemaVersion>
     <ProjectGuid>{61ECB8EE-0C96-4F8E-B187-8E4D227417C0}</ProjectGuid>
     <OutputType>Exe</OutputType>
-    <RootNamespace>GrpcDemo</RootNamespace>
-    <AssemblyName>GrpcDemo</AssemblyName>
+    <RootNamespace>MathClient</RootNamespace>
+    <AssemblyName>MathClient</AssemblyName>
     <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
@@ -40,13 +40,13 @@
   </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   <ItemGroup>
-    <ProjectReference Include="..\GrpcApi\GrpcApi.csproj">
-      <Project>{7DC1433E-3225-42C7-B7EA-546D56E27A4B}</Project>
-      <Name>GrpcApi</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\GrpcCore\GrpcCore.csproj">
+    <ProjectReference Include="..\Grpc.Core\Grpc.Core.csproj">
       <Project>{CCC4440E-49F7-4790-B0AF-FEABB0837AE7}</Project>
-      <Name>GrpcCore</Name>
+      <Name>Grpc.Core</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\Grpc.Api\Grpc.Api.csproj">
+      <Project>{7DC1433E-3225-42C7-B7EA-546D56E27A4B}</Project>
+      <Name>Grpc.Api</Name>
     </ProjectReference>
   </ItemGroup>
 </Project>
\ No newline at end of file