Browse Source

重建丢失的ice,修复编译问题

大爷 2 years ago
parent
commit
faa2d60f8d
26 changed files with 1024 additions and 320 deletions
  1. 14 2
      Common/Pomelo/PomeloShare/PomeloShare.csproj
  2. 4 4
      Common/Pomelo/PomeloShare/ZoneManagerI.cs
  3. 11 0
      Common/Pomelo/PomeloShare/generated/SliceCompile.ZoneManager.d
  4. 116 308
      Common/Pomelo/PomeloShare/generated/ZoneManager.cs
  5. 5 0
      Common/Pomelo/PomeloShare/packages.config
  6. 6 5
      Common/Pomelo/PomeloShare/slice/ZoneManager.ice
  7. 5 1
      XmdsServerCS/XmdsServerEdgeJS/XmdsServerEdgeJS.csproj
  8. 4 0
      XmdsServerCS/XmdsServerEdgeJS/packages.config
  9. BIN
      packages/zeroc.icebuilder.msbuild.5.0.9/.signature.p7s
  10. 134 0
      packages/zeroc.icebuilder.msbuild.5.0.9/build/Ice.3.6.0.Cpp.props
  11. 7 0
      packages/zeroc.icebuilder.msbuild.5.0.9/build/ProjectItemsSchema.xaml
  12. 57 0
      packages/zeroc.icebuilder.msbuild.5.0.9/build/SliceCompile.CSharp.File.xaml
  13. 65 0
      packages/zeroc.icebuilder.msbuild.5.0.9/build/SliceCompile.CSharp.xaml
  14. 104 0
      packages/zeroc.icebuilder.msbuild.5.0.9/build/SliceCompile.Cpp.File.xaml
  15. 116 0
      packages/zeroc.icebuilder.msbuild.5.0.9/build/SliceCompile.Cpp.xaml
  16. 35 0
      packages/zeroc.icebuilder.msbuild.5.0.9/build/zeroc.icebuilder.msbuild.common.props
  17. 24 0
      packages/zeroc.icebuilder.msbuild.5.0.9/build/zeroc.icebuilder.msbuild.cpp.props
  18. 161 0
      packages/zeroc.icebuilder.msbuild.5.0.9/build/zeroc.icebuilder.msbuild.cpp.targets
  19. 16 0
      packages/zeroc.icebuilder.msbuild.5.0.9/build/zeroc.icebuilder.msbuild.csharp.15.0.targets
  20. 10 0
      packages/zeroc.icebuilder.msbuild.5.0.9/build/zeroc.icebuilder.msbuild.csharp.props
  21. 108 0
      packages/zeroc.icebuilder.msbuild.5.0.9/build/zeroc.icebuilder.msbuild.csharp.targets
  22. 11 0
      packages/zeroc.icebuilder.msbuild.5.0.9/build/zeroc.icebuilder.msbuild.props
  23. 11 0
      packages/zeroc.icebuilder.msbuild.5.0.9/build/zeroc.icebuilder.msbuild.targets
  24. BIN
      packages/zeroc.icebuilder.msbuild.5.0.9/tools/net45/zeroc.icebuilder.msbuild.dll
  25. BIN
      packages/zeroc.icebuilder.msbuild.5.0.9/tools/netstandard2.0/zeroc.icebuilder.msbuild.dll
  26. BIN
      packages/zeroc.icebuilder.msbuild.5.0.9/zeroc.icebuilder.msbuild.5.0.9.nupkg

+ 14 - 2
Common/Pomelo/PomeloShare/PomeloShare.csproj

@@ -1,8 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="..\..\..\packages\zeroc.icebuilder.msbuild.5.0.9\build\zeroc.icebuilder.msbuild.props" Condition="Exists('..\..\..\packages\zeroc.icebuilder.msbuild.5.0.9\build\zeroc.icebuilder.msbuild.props')" />
   <PropertyGroup Label="Globals">
     <ProjectTypeGuids>{28993779-3132-408A-BCB0-1D78225F4824};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
     <TargetFrameworkProfile />
+    <NuGetPackageImportStamp>
+    </NuGetPackageImportStamp>
   </PropertyGroup>
   <PropertyGroup>
     <StartupObject />
@@ -51,9 +54,9 @@
     <Prefer32Bit>false</Prefer32Bit>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="Ice, Version=3.6.1.0, Culture=neutral, PublicKeyToken=cdd571ade22f2f16, processorArchitecture=MSIL">
+    <Reference Include="Ice, Version=3.6.4.0, Culture=neutral, PublicKeyToken=cdd571ade22f2f16, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
-      <Private>True</Private>
+      <HintPath>..\..\..\Library\Ice.dll</HintPath>
     </Reference>
     <Reference Include="log4net">
       <HintPath>..\..\..\Library\log4net.dll</HintPath>
@@ -119,6 +122,7 @@
     <None Include="log4net.config">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
+    <None Include="packages.config" />
     <SliceCompile Include="slice\ZoneManager.ice">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </SliceCompile>
@@ -134,6 +138,14 @@
     <PostBuildEvent>
     </PostBuildEvent>
   </PropertyGroup>
+  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+    <PropertyGroup>
+      <ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
+    </PropertyGroup>
+    <Error Condition="!Exists('..\..\..\packages\zeroc.icebuilder.msbuild.5.0.9\build\zeroc.icebuilder.msbuild.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\zeroc.icebuilder.msbuild.5.0.9\build\zeroc.icebuilder.msbuild.props'))" />
+    <Error Condition="!Exists('..\..\..\packages\zeroc.icebuilder.msbuild.5.0.9\build\zeroc.icebuilder.msbuild.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\zeroc.icebuilder.msbuild.5.0.9\build\zeroc.icebuilder.msbuild.targets'))" />
+  </Target>
+  <Import Project="..\..\..\packages\zeroc.icebuilder.msbuild.5.0.9\build\zeroc.icebuilder.msbuild.targets" Condition="Exists('..\..\..\packages\zeroc.icebuilder.msbuild.5.0.9\build\zeroc.icebuilder.msbuild.targets')" />
   <!-- 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">

+ 4 - 4
Common/Pomelo/PomeloShare/ZoneManagerI.cs

@@ -55,7 +55,7 @@ namespace Pomelo
             {
                 //log.Info("createZone begin:" + System.Threading.Thread.CurrentThread.ManagedThreadId);
                 zone.CreateZone(playerId, gameServerId, mapTemplateId, instanceId, forceCreate, data,
-					 (ret) => { cb__.ice_response(ret); },
+					 (ret) => { cb__.ice_response(); },
 					 (err) => { cb__.ice_exception(err); }
 					 );
 
@@ -199,7 +199,7 @@ namespace Pomelo
                 }
                 else
                 {
-                    cb__.ice_response(Json.Encode(ret));
+                    cb__.ice_response(/*Json.Encode(ret)*/);
                 }
                 log.Debug("getServerState_async end:" + System.Threading.Thread.CurrentThread.ManagedThreadId);
             });
@@ -215,7 +215,7 @@ namespace Pomelo
                 }
                 else
                 {
-                    cb__.ice_response(ret);
+                    cb__.ice_response(/*ret*/);
                 }
                // log.Debug("getServerState_async end:" + System.Threading.Thread.CurrentThread.ManagedThreadId);
             });
@@ -231,7 +231,7 @@ namespace Pomelo
 				}
 				else
 				{
-					cb__.ice_response(ret);
+					cb__.ice_response(/*ret*/);
 				}
 			});
 		}

+ 11 - 0
Common/Pomelo/PomeloShare/generated/SliceCompile.ZoneManager.d

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<dependencies>
+  <source name="slice\ZoneManager.ice">
+    <dependsOn name="C:\Apps\Ice-3.6.4\slice/Ice/Identity.ice" />
+    <options>
+      <IceHome>C:\Apps\Ice-3.6.4</IceHome>
+      <IceToolsPath>C:\Apps\Ice-3.6.4\bin</IceToolsPath>
+      <OutputDir>E:\WSHCommon\Common\Pomelo\PomeloShare\generated</OutputDir>
+    </options>
+  </source>
+</dependencies>

+ 116 - 308
Common/Pomelo/PomeloShare/generated/ZoneManager.cs

@@ -70,7 +70,7 @@ namespace Pomelo
     public delegate void Callback_ZoneManager_setCallback(int ret__);
 
     [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.6.4")]
-    public delegate void Callback_ZoneManager_createZoneRequest(int ret__);
+    public delegate void Callback_ZoneManager_createZoneRequest();
 
     [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.6.4")]
     public delegate void Callback_ZoneManager_destroyZoneRequest();
@@ -91,13 +91,13 @@ namespace Pomelo
     public delegate void Callback_ZoneManager_playerNetStateChanged();
 
     [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.6.4")]
-    public delegate void Callback_ZoneManager_getServerState(string ret__);
+    public delegate void Callback_ZoneManager_getServerState();
 
     [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.6.4")]
-    public delegate void Callback_ZoneManager_registerGameServer(string ret__);
+    public delegate void Callback_ZoneManager_registerGameServer();
 
     [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.6.4")]
-    public delegate void Callback_ZoneManager_getUnitHP(int ret__);
+    public delegate void Callback_ZoneManager_getUnitHP();
 }
 
 namespace Pomelo
@@ -176,27 +176,27 @@ namespace Pomelo
         /// 场景副本相关协议
         /// </summary>
         
-        int createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool force, string data);
+        void createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool forceCreate, string data);
 
         /// <summary>
         /// 场景副本相关协议
         /// </summary>
         /// <param name="ctx__">The Context map to send with the invocation.</param>
         
-        int createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool force, string data, _System.Collections.Generic.Dictionary<string, string> ctx__);
+        void createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool forceCreate, string data, _System.Collections.Generic.Dictionary<string, string> ctx__);
 
         /// <summary>
         /// 场景副本相关协议
         /// </summary>
         /// <returns>An asynchronous result object.</returns>
-        Ice.AsyncResult<Pomelo.Callback_ZoneManager_createZoneRequest> begin_createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool force, string data);
+        Ice.AsyncResult<Pomelo.Callback_ZoneManager_createZoneRequest> begin_createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool forceCreate, string data);
 
         /// <summary>
         /// 场景副本相关协议
         /// </summary>
         /// <param name="ctx__">The Context map to send with the invocation.</param>
         /// <returns>An asynchronous result object.</returns>
-        Ice.AsyncResult<Pomelo.Callback_ZoneManager_createZoneRequest> begin_createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool force, string data, _System.Collections.Generic.Dictionary<string, string> ctx__);
+        Ice.AsyncResult<Pomelo.Callback_ZoneManager_createZoneRequest> begin_createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool forceCreate, string data, _System.Collections.Generic.Dictionary<string, string> ctx__);
 
         /// <summary>
         /// 场景副本相关协议
@@ -204,7 +204,7 @@ namespace Pomelo
         /// <param name="cb__">Asynchronous callback invoked when the operation completes.</param>
         /// <param name="cookie__">Application data to store in the asynchronous result object.</param>
         /// <returns>An asynchronous result object.</returns>
-        Ice.AsyncResult begin_createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool force, string data, Ice.AsyncCallback cb__, object cookie__);
+        Ice.AsyncResult begin_createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool forceCreate, string data, Ice.AsyncCallback cb__, object cookie__);
 
         /// <summary>
         /// 场景副本相关协议
@@ -213,13 +213,13 @@ namespace Pomelo
         /// <param name="cb__">Asynchronous callback invoked when the operation completes.</param>
         /// <param name="cookie__">Application data to store in the asynchronous result object.</param>
         /// <returns>An asynchronous result object.</returns>
-        Ice.AsyncResult begin_createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool force, string data, _System.Collections.Generic.Dictionary<string, string> ctx__, Ice.AsyncCallback cb__, object cookie__);
+        Ice.AsyncResult begin_createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool forceCreate, string data, _System.Collections.Generic.Dictionary<string, string> ctx__, Ice.AsyncCallback cb__, object cookie__);
 
         /// <summary>
         /// 场景副本相关协议
         /// </summary>
         /// <param name="r__">The asynchronous result object for the invocation.</param>
-        int end_createZoneRequest(Ice.AsyncResult r__);
+        void end_createZoneRequest(Ice.AsyncResult r__);
 
         void destroyZoneRequest(string instanceId);
 
@@ -340,23 +340,23 @@ namespace Pomelo
 
         void end_playerNetStateChanged(Ice.AsyncResult r__);
 
-        string getServerState(string serverId);
+        void getServerState(string serverID);
 
-        string getServerState(string serverId, _System.Collections.Generic.Dictionary<string, string> ctx__);
+        void getServerState(string serverID, _System.Collections.Generic.Dictionary<string, string> ctx__);
 
-        Ice.AsyncResult<Pomelo.Callback_ZoneManager_getServerState> begin_getServerState(string serverId);
+        Ice.AsyncResult<Pomelo.Callback_ZoneManager_getServerState> begin_getServerState(string serverID);
 
-        Ice.AsyncResult<Pomelo.Callback_ZoneManager_getServerState> begin_getServerState(string serverId, _System.Collections.Generic.Dictionary<string, string> ctx__);
+        Ice.AsyncResult<Pomelo.Callback_ZoneManager_getServerState> begin_getServerState(string serverID, _System.Collections.Generic.Dictionary<string, string> ctx__);
 
-        Ice.AsyncResult begin_getServerState(string serverId, Ice.AsyncCallback cb__, object cookie__);
+        Ice.AsyncResult begin_getServerState(string serverID, Ice.AsyncCallback cb__, object cookie__);
 
-        Ice.AsyncResult begin_getServerState(string serverId, _System.Collections.Generic.Dictionary<string, string> ctx__, Ice.AsyncCallback cb__, object cookie__);
+        Ice.AsyncResult begin_getServerState(string serverID, _System.Collections.Generic.Dictionary<string, string> ctx__, Ice.AsyncCallback cb__, object cookie__);
 
-        string end_getServerState(Ice.AsyncResult r__);
+        void end_getServerState(Ice.AsyncResult r__);
 
-        string registerGameServer(int serverid, int crossid);
+        void registerGameServer(int serverid, int crossid);
 
-        string registerGameServer(int serverid, int crossid, _System.Collections.Generic.Dictionary<string, string> ctx__);
+        void registerGameServer(int serverid, int crossid, _System.Collections.Generic.Dictionary<string, string> ctx__);
 
         Ice.AsyncResult<Pomelo.Callback_ZoneManager_registerGameServer> begin_registerGameServer(int serverid, int crossid);
 
@@ -366,11 +366,11 @@ namespace Pomelo
 
         Ice.AsyncResult begin_registerGameServer(int serverid, int crossid, _System.Collections.Generic.Dictionary<string, string> ctx__, Ice.AsyncCallback cb__, object cookie__);
 
-        string end_registerGameServer(Ice.AsyncResult r__);
+        void end_registerGameServer(Ice.AsyncResult r__);
 
-        int getUnitHP(string instanceId, int objectId);
+        void getUnitHP(string instanceId, int objectId);
 
-        int getUnitHP(string instanceId, int objectId, _System.Collections.Generic.Dictionary<string, string> ctx__);
+        void getUnitHP(string instanceId, int objectId, _System.Collections.Generic.Dictionary<string, string> ctx__);
 
         Ice.AsyncResult<Pomelo.Callback_ZoneManager_getUnitHP> begin_getUnitHP(string instanceId, int objectId);
 
@@ -380,7 +380,7 @@ namespace Pomelo
 
         Ice.AsyncResult begin_getUnitHP(string instanceId, int objectId, _System.Collections.Generic.Dictionary<string, string> ctx__, Ice.AsyncCallback cb__, object cookie__);
 
-        int end_getUnitHP(Ice.AsyncResult r__);
+        void end_getUnitHP(Ice.AsyncResult r__);
     }
 }
 
@@ -413,7 +413,7 @@ namespace Pomelo
         /// </summary>
         /// <param name="cb__">The callback object for the operation.</param>
         /// <param name="current__">The Current object for the invocation.</param>
-        void createZoneRequest_async(Pomelo.AMD_ZoneManager_createZoneRequest cb__, string playerId, string gameServerId, int mapTemplateId, string instanceId, bool force, string data, Ice.Current current__);
+        void createZoneRequest_async(Pomelo.AMD_ZoneManager_createZoneRequest cb__, string playerId, string gameServerId, int mapTemplateId, string instanceId, bool forceCreate, string data, Ice.Current current__);
 
         void destroyZoneRequest_async(Pomelo.AMD_ZoneManager_destroyZoneRequest cb__, string instanceId, Ice.Current current__);
 
@@ -432,7 +432,7 @@ namespace Pomelo
 
         void playerNetStateChanged_async(Pomelo.AMD_ZoneManager_playerNetStateChanged cb__, string playerId, string state, Ice.Current current__);
 
-        void getServerState_async(Pomelo.AMD_ZoneManager_getServerState cb__, string serverId, Ice.Current current__);
+        void getServerState_async(Pomelo.AMD_ZoneManager_getServerState cb__, string serverID, Ice.Current current__);
 
         void registerGameServer_async(Pomelo.AMD_ZoneManager_registerGameServer cb__, int serverid, int crossid, Ice.Current current__);
 
@@ -452,7 +452,7 @@ namespace Pomelo
         /// 场景副本相关协议
         /// </summary>
         /// <param name="cb__">The callback object for the operation.</param>
-        void createZoneRequest_async(Pomelo.AMD_ZoneManager_createZoneRequest cb__, string playerId, string gameServerId, int mapTemplateId, string instanceId, bool force, string data);
+        void createZoneRequest_async(Pomelo.AMD_ZoneManager_createZoneRequest cb__, string playerId, string gameServerId, int mapTemplateId, string instanceId, bool forceCreate, string data);
 
         void destroyZoneRequest_async(Pomelo.AMD_ZoneManager_destroyZoneRequest cb__, string instanceId);
 
@@ -470,7 +470,7 @@ namespace Pomelo
 
         void playerNetStateChanged_async(Pomelo.AMD_ZoneManager_playerNetStateChanged cb__, string playerId, string state);
 
-        void getServerState_async(Pomelo.AMD_ZoneManager_getServerState cb__, string serverId);
+        void getServerState_async(Pomelo.AMD_ZoneManager_getServerState cb__, string serverID);
 
         void registerGameServer_async(Pomelo.AMD_ZoneManager_registerGameServer cb__, int serverid, int crossid);
 
@@ -727,20 +727,19 @@ namespace Pomelo
             end_clearAllPlayersRequest(begin_clearAllPlayersRequest(context__, explicitCtx__, true, null, null));
         }
 
-        public int createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool force, string data)
+        public void createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool forceCreate, string data)
         {
-            return this.createZoneRequest(playerId, gameServerId, mapTemplateId, instanceId, force, data, null, false);
+            this.createZoneRequest(playerId, gameServerId, mapTemplateId, instanceId, forceCreate, data, null, false);
         }
 
-        public int createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool force, string data, _System.Collections.Generic.Dictionary<string, string> ctx__)
+        public void createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool forceCreate, string data, _System.Collections.Generic.Dictionary<string, string> ctx__)
         {
-            return this.createZoneRequest(playerId, gameServerId, mapTemplateId, instanceId, force, data, ctx__, true);
+            this.createZoneRequest(playerId, gameServerId, mapTemplateId, instanceId, forceCreate, data, ctx__, true);
         }
 
-        private int createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool force, string data, _System.Collections.Generic.Dictionary<string, string> context__, bool explicitCtx__)
+        private void createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool forceCreate, string data, _System.Collections.Generic.Dictionary<string, string> context__, bool explicitCtx__)
         {
-            checkTwowayOnly__(__createZoneRequest_name);
-            return end_createZoneRequest(begin_createZoneRequest(playerId, gameServerId, mapTemplateId, instanceId, force, data, context__, explicitCtx__, true, null, null));
+            end_createZoneRequest(begin_createZoneRequest(playerId, gameServerId, mapTemplateId, instanceId, forceCreate, data, context__, explicitCtx__, true, null, null));
         }
 
         public void destroyZoneRequest(string instanceId)
@@ -774,36 +773,34 @@ namespace Pomelo
             return end_getAllPlayerCountRequest(begin_getAllPlayerCountRequest(context__, explicitCtx__, true, null, null));
         }
 
-        public string getServerState(string serverId)
+        public void getServerState(string serverID)
         {
-            return this.getServerState(serverId, null, false);
+            this.getServerState(serverID, null, false);
         }
 
-        public string getServerState(string serverId, _System.Collections.Generic.Dictionary<string, string> ctx__)
+        public void getServerState(string serverID, _System.Collections.Generic.Dictionary<string, string> ctx__)
         {
-            return this.getServerState(serverId, ctx__, true);
+            this.getServerState(serverID, ctx__, true);
         }
 
-        private string getServerState(string serverId, _System.Collections.Generic.Dictionary<string, string> context__, bool explicitCtx__)
+        private void getServerState(string serverID, _System.Collections.Generic.Dictionary<string, string> context__, bool explicitCtx__)
         {
-            checkTwowayOnly__(__getServerState_name);
-            return end_getServerState(begin_getServerState(serverId, context__, explicitCtx__, true, null, null));
+            end_getServerState(begin_getServerState(serverID, context__, explicitCtx__, true, null, null));
         }
 
-        public int getUnitHP(string instanceId, int objectId)
+        public void getUnitHP(string instanceId, int objectId)
         {
-            return this.getUnitHP(instanceId, objectId, null, false);
+            this.getUnitHP(instanceId, objectId, null, false);
         }
 
-        public int getUnitHP(string instanceId, int objectId, _System.Collections.Generic.Dictionary<string, string> ctx__)
+        public void getUnitHP(string instanceId, int objectId, _System.Collections.Generic.Dictionary<string, string> ctx__)
         {
-            return this.getUnitHP(instanceId, objectId, ctx__, true);
+            this.getUnitHP(instanceId, objectId, ctx__, true);
         }
 
-        private int getUnitHP(string instanceId, int objectId, _System.Collections.Generic.Dictionary<string, string> context__, bool explicitCtx__)
+        private void getUnitHP(string instanceId, int objectId, _System.Collections.Generic.Dictionary<string, string> context__, bool explicitCtx__)
         {
-            checkTwowayOnly__(__getUnitHP_name);
-            return end_getUnitHP(begin_getUnitHP(instanceId, objectId, context__, explicitCtx__, true, null, null));
+            end_getUnitHP(begin_getUnitHP(instanceId, objectId, context__, explicitCtx__, true, null, null));
         }
 
         public void playerEnterRequest(string playerId, string instanceId, string data)
@@ -851,20 +848,19 @@ namespace Pomelo
             end_playerNetStateChanged(begin_playerNetStateChanged(playerId, state, context__, explicitCtx__, true, null, null));
         }
 
-        public string registerGameServer(int serverid, int crossid)
+        public void registerGameServer(int serverid, int crossid)
         {
-            return this.registerGameServer(serverid, crossid, null, false);
+            this.registerGameServer(serverid, crossid, null, false);
         }
 
-        public string registerGameServer(int serverid, int crossid, _System.Collections.Generic.Dictionary<string, string> ctx__)
+        public void registerGameServer(int serverid, int crossid, _System.Collections.Generic.Dictionary<string, string> ctx__)
         {
-            return this.registerGameServer(serverid, crossid, ctx__, true);
+            this.registerGameServer(serverid, crossid, ctx__, true);
         }
 
-        private string registerGameServer(int serverid, int crossid, _System.Collections.Generic.Dictionary<string, string> context__, bool explicitCtx__)
+        private void registerGameServer(int serverid, int crossid, _System.Collections.Generic.Dictionary<string, string> context__, bool explicitCtx__)
         {
-            checkTwowayOnly__(__registerGameServer_name);
-            return end_registerGameServer(begin_registerGameServer(serverid, crossid, context__, explicitCtx__, true, null, null));
+            end_registerGameServer(begin_registerGameServer(serverid, crossid, context__, explicitCtx__, true, null, null));
         }
 
         public int setCallback(Ice.Identity ident, string srvUUID)
@@ -942,60 +938,36 @@ namespace Pomelo
             }
         }
 
-        public Ice.AsyncResult<Pomelo.Callback_ZoneManager_createZoneRequest> begin_createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool force, string data)
+        public Ice.AsyncResult<Pomelo.Callback_ZoneManager_createZoneRequest> begin_createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool forceCreate, string data)
         {
-            return begin_createZoneRequest(playerId, gameServerId, mapTemplateId, instanceId, force, data, null, false, false, null, null);
+            return begin_createZoneRequest(playerId, gameServerId, mapTemplateId, instanceId, forceCreate, data, null, false, false, null, null);
         }
 
-        public Ice.AsyncResult<Pomelo.Callback_ZoneManager_createZoneRequest> begin_createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool force, string data, _System.Collections.Generic.Dictionary<string, string> ctx__)
+        public Ice.AsyncResult<Pomelo.Callback_ZoneManager_createZoneRequest> begin_createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool forceCreate, string data, _System.Collections.Generic.Dictionary<string, string> ctx__)
         {
-            return begin_createZoneRequest(playerId, gameServerId, mapTemplateId, instanceId, force, data, ctx__, true, false, null, null);
+            return begin_createZoneRequest(playerId, gameServerId, mapTemplateId, instanceId, forceCreate, data, ctx__, true, false, null, null);
         }
 
-        public Ice.AsyncResult begin_createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool force, string data, Ice.AsyncCallback cb__, object cookie__)
+        public Ice.AsyncResult begin_createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool forceCreate, string data, Ice.AsyncCallback cb__, object cookie__)
         {
-            return begin_createZoneRequest(playerId, gameServerId, mapTemplateId, instanceId, force, data, null, false, false, cb__, cookie__);
+            return begin_createZoneRequest(playerId, gameServerId, mapTemplateId, instanceId, forceCreate, data, null, false, false, cb__, cookie__);
         }
 
-        public Ice.AsyncResult begin_createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool force, string data, _System.Collections.Generic.Dictionary<string, string> ctx__, Ice.AsyncCallback cb__, object cookie__)
+        public Ice.AsyncResult begin_createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool forceCreate, string data, _System.Collections.Generic.Dictionary<string, string> ctx__, Ice.AsyncCallback cb__, object cookie__)
         {
-            return begin_createZoneRequest(playerId, gameServerId, mapTemplateId, instanceId, force, data, ctx__, true, false, cb__, cookie__);
+            return begin_createZoneRequest(playerId, gameServerId, mapTemplateId, instanceId, forceCreate, data, ctx__, true, false, cb__, cookie__);
         }
 
         private const string __createZoneRequest_name = "createZoneRequest";
 
-        public int end_createZoneRequest(Ice.AsyncResult r__)
+        public void end_createZoneRequest(Ice.AsyncResult r__)
         {
-            IceInternal.OutgoingAsync outAsync__ = IceInternal.OutgoingAsync.check(r__, this, __createZoneRequest_name);
-            try
-            {
-                if(!outAsync__.wait())
-                {
-                    try
-                    {
-                        outAsync__.throwUserException();
-                    }
-                    catch(Ice.UserException ex__)
-                    {
-                        throw new Ice.UnknownUserException(ex__.ice_name(), ex__);
-                    }
-                }
-                int ret__;
-                IceInternal.BasicStream is__ = outAsync__.startReadParams();
-                ret__ = is__.readInt();
-                outAsync__.endReadParams();
-                return ret__;
-            }
-            finally
-            {
-                outAsync__.cacheMessageBuffers();
-            }
+            end__(r__, __createZoneRequest_name);
         }
 
-        private Ice.AsyncResult<Pomelo.Callback_ZoneManager_createZoneRequest> begin_createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool force, string data, _System.Collections.Generic.Dictionary<string, string> ctx__, bool explicitContext__, bool synchronous__, Ice.AsyncCallback cb__, object cookie__)
+        private Ice.AsyncResult<Pomelo.Callback_ZoneManager_createZoneRequest> begin_createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool forceCreate, string data, _System.Collections.Generic.Dictionary<string, string> ctx__, bool explicitContext__, bool synchronous__, Ice.AsyncCallback cb__, object cookie__)
         {
-            checkAsyncTwowayOnly__(__createZoneRequest_name);
-            IceInternal.TwowayOutgoingAsync<Pomelo.Callback_ZoneManager_createZoneRequest> result__ =  getTwowayOutgoingAsync<Pomelo.Callback_ZoneManager_createZoneRequest>(__createZoneRequest_name, createZoneRequest_completed__, cookie__);
+            IceInternal.OnewayOutgoingAsync<Pomelo.Callback_ZoneManager_createZoneRequest> result__ = getOnewayOutgoingAsync<Pomelo.Callback_ZoneManager_createZoneRequest>(__createZoneRequest_name, createZoneRequest_completed__, cookie__);
             if(cb__ != null)
             {
                 result__.whenCompletedWithAsyncCallback(cb__);
@@ -1008,7 +980,7 @@ namespace Pomelo
                 os__.writeString(gameServerId);
                 os__.writeInt(mapTemplateId);
                 os__.writeString(instanceId);
-                os__.writeBool(force);
+                os__.writeBool(forceCreate);
                 os__.writeString(data);
                 result__.endWriteParams();
                 result__.invoke();
@@ -1020,24 +992,11 @@ namespace Pomelo
             return result__;
         }
 
-        private void createZoneRequest_completed__(Ice.AsyncResult r__, Pomelo.Callback_ZoneManager_createZoneRequest cb__, Ice.ExceptionCallback excb__)
+        private void createZoneRequest_completed__(Pomelo.Callback_ZoneManager_createZoneRequest cb__)
         {
-            int ret__;
-            try
-            {
-                ret__ = end_createZoneRequest(r__);
-            }
-            catch(Ice.Exception ex__)
-            {
-                if(excb__ != null)
-                {
-                    excb__(ex__);
-                }
-                return;
-            }
             if(cb__ != null)
             {
-                cb__(ret__);
+                cb__();
             }
         }
 
@@ -1190,60 +1149,36 @@ namespace Pomelo
             }
         }
 
-        public Ice.AsyncResult<Pomelo.Callback_ZoneManager_getServerState> begin_getServerState(string serverId)
+        public Ice.AsyncResult<Pomelo.Callback_ZoneManager_getServerState> begin_getServerState(string serverID)
         {
-            return begin_getServerState(serverId, null, false, false, null, null);
+            return begin_getServerState(serverID, null, false, false, null, null);
         }
 
-        public Ice.AsyncResult<Pomelo.Callback_ZoneManager_getServerState> begin_getServerState(string serverId, _System.Collections.Generic.Dictionary<string, string> ctx__)
+        public Ice.AsyncResult<Pomelo.Callback_ZoneManager_getServerState> begin_getServerState(string serverID, _System.Collections.Generic.Dictionary<string, string> ctx__)
         {
-            return begin_getServerState(serverId, ctx__, true, false, null, null);
+            return begin_getServerState(serverID, ctx__, true, false, null, null);
         }
 
-        public Ice.AsyncResult begin_getServerState(string serverId, Ice.AsyncCallback cb__, object cookie__)
+        public Ice.AsyncResult begin_getServerState(string serverID, Ice.AsyncCallback cb__, object cookie__)
         {
-            return begin_getServerState(serverId, null, false, false, cb__, cookie__);
+            return begin_getServerState(serverID, null, false, false, cb__, cookie__);
         }
 
-        public Ice.AsyncResult begin_getServerState(string serverId, _System.Collections.Generic.Dictionary<string, string> ctx__, Ice.AsyncCallback cb__, object cookie__)
+        public Ice.AsyncResult begin_getServerState(string serverID, _System.Collections.Generic.Dictionary<string, string> ctx__, Ice.AsyncCallback cb__, object cookie__)
         {
-            return begin_getServerState(serverId, ctx__, true, false, cb__, cookie__);
+            return begin_getServerState(serverID, ctx__, true, false, cb__, cookie__);
         }
 
         private const string __getServerState_name = "getServerState";
 
-        public string end_getServerState(Ice.AsyncResult r__)
+        public void end_getServerState(Ice.AsyncResult r__)
         {
-            IceInternal.OutgoingAsync outAsync__ = IceInternal.OutgoingAsync.check(r__, this, __getServerState_name);
-            try
-            {
-                if(!outAsync__.wait())
-                {
-                    try
-                    {
-                        outAsync__.throwUserException();
-                    }
-                    catch(Ice.UserException ex__)
-                    {
-                        throw new Ice.UnknownUserException(ex__.ice_name(), ex__);
-                    }
-                }
-                string ret__;
-                IceInternal.BasicStream is__ = outAsync__.startReadParams();
-                ret__ = is__.readString();
-                outAsync__.endReadParams();
-                return ret__;
-            }
-            finally
-            {
-                outAsync__.cacheMessageBuffers();
-            }
+            end__(r__, __getServerState_name);
         }
 
-        private Ice.AsyncResult<Pomelo.Callback_ZoneManager_getServerState> begin_getServerState(string serverId, _System.Collections.Generic.Dictionary<string, string> ctx__, bool explicitContext__, bool synchronous__, Ice.AsyncCallback cb__, object cookie__)
+        private Ice.AsyncResult<Pomelo.Callback_ZoneManager_getServerState> begin_getServerState(string serverID, _System.Collections.Generic.Dictionary<string, string> ctx__, bool explicitContext__, bool synchronous__, Ice.AsyncCallback cb__, object cookie__)
         {
-            checkAsyncTwowayOnly__(__getServerState_name);
-            IceInternal.TwowayOutgoingAsync<Pomelo.Callback_ZoneManager_getServerState> result__ =  getTwowayOutgoingAsync<Pomelo.Callback_ZoneManager_getServerState>(__getServerState_name, getServerState_completed__, cookie__);
+            IceInternal.OnewayOutgoingAsync<Pomelo.Callback_ZoneManager_getServerState> result__ = getOnewayOutgoingAsync<Pomelo.Callback_ZoneManager_getServerState>(__getServerState_name, getServerState_completed__, cookie__);
             if(cb__ != null)
             {
                 result__.whenCompletedWithAsyncCallback(cb__);
@@ -1252,7 +1187,7 @@ namespace Pomelo
             {
                 result__.prepare(__getServerState_name, Ice.OperationMode.Normal, ctx__, explicitContext__, synchronous__);
                 IceInternal.BasicStream os__ = result__.startWriteParams(Ice.FormatType.DefaultFormat);
-                os__.writeString(serverId);
+                os__.writeString(serverID);
                 result__.endWriteParams();
                 result__.invoke();
             }
@@ -1263,24 +1198,11 @@ namespace Pomelo
             return result__;
         }
 
-        private void getServerState_completed__(Ice.AsyncResult r__, Pomelo.Callback_ZoneManager_getServerState cb__, Ice.ExceptionCallback excb__)
+        private void getServerState_completed__(Pomelo.Callback_ZoneManager_getServerState cb__)
         {
-            string ret__;
-            try
-            {
-                ret__ = end_getServerState(r__);
-            }
-            catch(Ice.Exception ex__)
-            {
-                if(excb__ != null)
-                {
-                    excb__(ex__);
-                }
-                return;
-            }
             if(cb__ != null)
             {
-                cb__(ret__);
+                cb__();
             }
         }
 
@@ -1306,38 +1228,14 @@ namespace Pomelo
 
         private const string __getUnitHP_name = "getUnitHP";
 
-        public int end_getUnitHP(Ice.AsyncResult r__)
+        public void end_getUnitHP(Ice.AsyncResult r__)
         {
-            IceInternal.OutgoingAsync outAsync__ = IceInternal.OutgoingAsync.check(r__, this, __getUnitHP_name);
-            try
-            {
-                if(!outAsync__.wait())
-                {
-                    try
-                    {
-                        outAsync__.throwUserException();
-                    }
-                    catch(Ice.UserException ex__)
-                    {
-                        throw new Ice.UnknownUserException(ex__.ice_name(), ex__);
-                    }
-                }
-                int ret__;
-                IceInternal.BasicStream is__ = outAsync__.startReadParams();
-                ret__ = is__.readInt();
-                outAsync__.endReadParams();
-                return ret__;
-            }
-            finally
-            {
-                outAsync__.cacheMessageBuffers();
-            }
+            end__(r__, __getUnitHP_name);
         }
 
         private Ice.AsyncResult<Pomelo.Callback_ZoneManager_getUnitHP> begin_getUnitHP(string instanceId, int objectId, _System.Collections.Generic.Dictionary<string, string> ctx__, bool explicitContext__, bool synchronous__, Ice.AsyncCallback cb__, object cookie__)
         {
-            checkAsyncTwowayOnly__(__getUnitHP_name);
-            IceInternal.TwowayOutgoingAsync<Pomelo.Callback_ZoneManager_getUnitHP> result__ =  getTwowayOutgoingAsync<Pomelo.Callback_ZoneManager_getUnitHP>(__getUnitHP_name, getUnitHP_completed__, cookie__);
+            IceInternal.OnewayOutgoingAsync<Pomelo.Callback_ZoneManager_getUnitHP> result__ = getOnewayOutgoingAsync<Pomelo.Callback_ZoneManager_getUnitHP>(__getUnitHP_name, getUnitHP_completed__, cookie__);
             if(cb__ != null)
             {
                 result__.whenCompletedWithAsyncCallback(cb__);
@@ -1358,24 +1256,11 @@ namespace Pomelo
             return result__;
         }
 
-        private void getUnitHP_completed__(Ice.AsyncResult r__, Pomelo.Callback_ZoneManager_getUnitHP cb__, Ice.ExceptionCallback excb__)
+        private void getUnitHP_completed__(Pomelo.Callback_ZoneManager_getUnitHP cb__)
         {
-            int ret__;
-            try
-            {
-                ret__ = end_getUnitHP(r__);
-            }
-            catch(Ice.Exception ex__)
-            {
-                if(excb__ != null)
-                {
-                    excb__(ex__);
-                }
-                return;
-            }
             if(cb__ != null)
             {
-                cb__(ret__);
+                cb__();
             }
         }
 
@@ -1577,38 +1462,14 @@ namespace Pomelo
 
         private const string __registerGameServer_name = "registerGameServer";
 
-        public string end_registerGameServer(Ice.AsyncResult r__)
+        public void end_registerGameServer(Ice.AsyncResult r__)
         {
-            IceInternal.OutgoingAsync outAsync__ = IceInternal.OutgoingAsync.check(r__, this, __registerGameServer_name);
-            try
-            {
-                if(!outAsync__.wait())
-                {
-                    try
-                    {
-                        outAsync__.throwUserException();
-                    }
-                    catch(Ice.UserException ex__)
-                    {
-                        throw new Ice.UnknownUserException(ex__.ice_name(), ex__);
-                    }
-                }
-                string ret__;
-                IceInternal.BasicStream is__ = outAsync__.startReadParams();
-                ret__ = is__.readString();
-                outAsync__.endReadParams();
-                return ret__;
-            }
-            finally
-            {
-                outAsync__.cacheMessageBuffers();
-            }
+            end__(r__, __registerGameServer_name);
         }
 
         private Ice.AsyncResult<Pomelo.Callback_ZoneManager_registerGameServer> begin_registerGameServer(int serverid, int crossid, _System.Collections.Generic.Dictionary<string, string> ctx__, bool explicitContext__, bool synchronous__, Ice.AsyncCallback cb__, object cookie__)
         {
-            checkAsyncTwowayOnly__(__registerGameServer_name);
-            IceInternal.TwowayOutgoingAsync<Pomelo.Callback_ZoneManager_registerGameServer> result__ =  getTwowayOutgoingAsync<Pomelo.Callback_ZoneManager_registerGameServer>(__registerGameServer_name, registerGameServer_completed__, cookie__);
+            IceInternal.OnewayOutgoingAsync<Pomelo.Callback_ZoneManager_registerGameServer> result__ = getOnewayOutgoingAsync<Pomelo.Callback_ZoneManager_registerGameServer>(__registerGameServer_name, registerGameServer_completed__, cookie__);
             if(cb__ != null)
             {
                 result__.whenCompletedWithAsyncCallback(cb__);
@@ -1629,24 +1490,11 @@ namespace Pomelo
             return result__;
         }
 
-        private void registerGameServer_completed__(Ice.AsyncResult r__, Pomelo.Callback_ZoneManager_registerGameServer cb__, Ice.ExceptionCallback excb__)
+        private void registerGameServer_completed__(Pomelo.Callback_ZoneManager_registerGameServer cb__)
         {
-            string ret__;
-            try
-            {
-                ret__ = end_registerGameServer(r__);
-            }
-            catch(Ice.Exception ex__)
-            {
-                if(excb__ != null)
-                {
-                    excb__(ex__);
-                }
-                return;
-            }
             if(cb__ != null)
             {
-                cb__(ret__);
+                cb__();
             }
         }
 
@@ -2045,12 +1893,12 @@ namespace Pomelo
 
         public abstract int setCallback(Ice.Identity ident, string srvUUID, Ice.Current current__);
 
-        public void createZoneRequest_async(Pomelo.AMD_ZoneManager_createZoneRequest cb__, string playerId, string gameServerId, int mapTemplateId, string instanceId, bool force, string data)
+        public void createZoneRequest_async(Pomelo.AMD_ZoneManager_createZoneRequest cb__, string playerId, string gameServerId, int mapTemplateId, string instanceId, bool forceCreate, string data)
         {
-            createZoneRequest_async(cb__, playerId, gameServerId, mapTemplateId, instanceId, force, data, Ice.ObjectImpl.defaultCurrent);
+            createZoneRequest_async(cb__, playerId, gameServerId, mapTemplateId, instanceId, forceCreate, data, Ice.ObjectImpl.defaultCurrent);
         }
 
-        public abstract void createZoneRequest_async(Pomelo.AMD_ZoneManager_createZoneRequest cb__, string playerId, string gameServerId, int mapTemplateId, string instanceId, bool force, string data, Ice.Current current__);
+        public abstract void createZoneRequest_async(Pomelo.AMD_ZoneManager_createZoneRequest cb__, string playerId, string gameServerId, int mapTemplateId, string instanceId, bool forceCreate, string data, Ice.Current current__);
 
         public void destroyZoneRequest_async(Pomelo.AMD_ZoneManager_destroyZoneRequest cb__, string instanceId)
         {
@@ -2094,12 +1942,12 @@ namespace Pomelo
 
         public abstract void playerNetStateChanged_async(Pomelo.AMD_ZoneManager_playerNetStateChanged cb__, string playerId, string state, Ice.Current current__);
 
-        public void getServerState_async(Pomelo.AMD_ZoneManager_getServerState cb__, string serverId)
+        public void getServerState_async(Pomelo.AMD_ZoneManager_getServerState cb__, string serverID)
         {
-            getServerState_async(cb__, serverId, Ice.ObjectImpl.defaultCurrent);
+            getServerState_async(cb__, serverID, Ice.ObjectImpl.defaultCurrent);
         }
 
-        public abstract void getServerState_async(Pomelo.AMD_ZoneManager_getServerState cb__, string serverId, Ice.Current current__);
+        public abstract void getServerState_async(Pomelo.AMD_ZoneManager_getServerState cb__, string serverID, Ice.Current current__);
 
         public void registerGameServer_async(Pomelo.AMD_ZoneManager_registerGameServer cb__, int serverid, int crossid)
         {
@@ -2191,19 +2039,19 @@ namespace Pomelo
             string gameServerId;
             int mapTemplateId;
             string instanceId;
-            bool force;
+            bool forceCreate;
             string data;
             playerId = is__.readString();
             gameServerId = is__.readString();
             mapTemplateId = is__.readInt();
             instanceId = is__.readString();
-            force = is__.readBool();
+            forceCreate = is__.readBool();
             data = is__.readString();
             inS__.endReadParams();
             AMD_ZoneManager_createZoneRequest cb__ = new _AMD_ZoneManager_createZoneRequest(inS__);
             try
             {
-                obj__.createZoneRequest_async(cb__, playerId, gameServerId, mapTemplateId, instanceId, force, data, current__);
+                obj__.createZoneRequest_async(cb__, playerId, gameServerId, mapTemplateId, instanceId, forceCreate, data, current__);
             }
             catch(_System.Exception ex__)
             {
@@ -2341,13 +2189,13 @@ namespace Pomelo
         {
             Ice.ObjectImpl.checkMode__(Ice.OperationMode.Normal, current__.mode);
             IceInternal.BasicStream is__ = inS__.startReadParams();
-            string serverId;
-            serverId = is__.readString();
+            string serverID;
+            serverID = is__.readString();
             inS__.endReadParams();
             AMD_ZoneManager_getServerState cb__ = new _AMD_ZoneManager_getServerState(inS__);
             try
             {
-                obj__.getServerState_async(cb__, serverId, current__);
+                obj__.getServerState_async(cb__, serverID, current__);
             }
             catch(_System.Exception ex__)
             {
@@ -2528,7 +2376,7 @@ namespace Pomelo
         /// ice_response indicates that
         /// the operation completed successfully.
         /// </summary>
-        void ice_response(int ret__);
+        void ice_response();
     }
 
     [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.6.4")]
@@ -2538,21 +2386,11 @@ namespace Pomelo
         {
         }
 
-        public void ice_response(int ret__)
+        public void ice_response()
         {
             if(validateResponse__(true))
             {
-                try
-                {
-                    IceInternal.BasicStream os__ = startWriteParams__(Ice.FormatType.DefaultFormat);
-                    os__.writeInt(ret__);
-                    endWriteParams__(true);
-                }
-                catch(Ice.LocalException ex__)
-                {
-                    exception__(ex__);
-                    return;
-                }
+                writeEmptyParams__();
                 response__();
             }
         }
@@ -2723,7 +2561,7 @@ namespace Pomelo
     [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.6.4")]
     public interface AMD_ZoneManager_getServerState : Ice.AMDCallback
     {
-        void ice_response(string ret__);
+        void ice_response();
     }
 
     [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.6.4")]
@@ -2733,21 +2571,11 @@ namespace Pomelo
         {
         }
 
-        public void ice_response(string ret__)
+        public void ice_response()
         {
             if(validateResponse__(true))
             {
-                try
-                {
-                    IceInternal.BasicStream os__ = startWriteParams__(Ice.FormatType.DefaultFormat);
-                    os__.writeString(ret__);
-                    endWriteParams__(true);
-                }
-                catch(Ice.LocalException ex__)
-                {
-                    exception__(ex__);
-                    return;
-                }
+                writeEmptyParams__();
                 response__();
             }
         }
@@ -2757,7 +2585,7 @@ namespace Pomelo
     [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.6.4")]
     public interface AMD_ZoneManager_registerGameServer : Ice.AMDCallback
     {
-        void ice_response(string ret__);
+        void ice_response();
     }
 
     [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.6.4")]
@@ -2767,21 +2595,11 @@ namespace Pomelo
         {
         }
 
-        public void ice_response(string ret__)
+        public void ice_response()
         {
             if(validateResponse__(true))
             {
-                try
-                {
-                    IceInternal.BasicStream os__ = startWriteParams__(Ice.FormatType.DefaultFormat);
-                    os__.writeString(ret__);
-                    endWriteParams__(true);
-                }
-                catch(Ice.LocalException ex__)
-                {
-                    exception__(ex__);
-                    return;
-                }
+                writeEmptyParams__();
                 response__();
             }
         }
@@ -2791,7 +2609,7 @@ namespace Pomelo
     [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.6.4")]
     public interface AMD_ZoneManager_getUnitHP : Ice.AMDCallback
     {
-        void ice_response(int ret__);
+        void ice_response();
     }
 
     [_System.CodeDom.Compiler.GeneratedCodeAttribute("slice2cs", "3.6.4")]
@@ -2801,21 +2619,11 @@ namespace Pomelo
         {
         }
 
-        public void ice_response(int ret__)
+        public void ice_response()
         {
             if(validateResponse__(true))
             {
-                try
-                {
-                    IceInternal.BasicStream os__ = startWriteParams__(Ice.FormatType.DefaultFormat);
-                    os__.writeInt(ret__);
-                    endWriteParams__(true);
-                }
-                catch(Ice.LocalException ex__)
-                {
-                    exception__(ex__);
-                    return;
-                }
+                writeEmptyParams__();
                 response__();
             }
         }

+ 5 - 0
Common/Pomelo/PomeloShare/packages.config

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="Ice" version="3.5.1.0" targetFramework="net48" />
+  <package id="zeroc.icebuilder.msbuild" version="5.0.9" targetFramework="net451" />
+</packages>

+ 6 - 5
Common/Pomelo/PomeloShare/slice/ZoneManager.ice

@@ -5,12 +5,10 @@
 // **********************************************************************
 
 #pragma once
-
 #include <Ice/Identity.ice>
 
 module Pomelo
 { 
-
 	//场景管理事件回调
 	interface ZoneManagerCallback
 	{ 
@@ -23,12 +21,12 @@ module Pomelo
 	{
 		/************************************场景管理器相关协议********************************************/
 		//设置事件回调
-		void  setCallback(Ice::Identity ident);
+		int setCallback(Ice::Identity ident, string srvUUID);
 
 		/************************************场景副本相关协议********************************************/
 
 		//创建场景副本实例
-		["amd"] void createZoneRequest(string gameServerId, int mapTemplateId, string instanceId, string data);
+		["amd"] void createZoneRequest(string playerId, string gameServerId, int mapTemplateId, string instanceId, bool forceCreate, string data);
 
 		//删除场景副本实例
 		["amd"] void destroyZoneRequest(string instanceId);
@@ -50,7 +48,10 @@ module Pomelo
 		//玩家网络状况改变 {connected, disconnected, }
 		["amd"] void playerNetStateChanged(string playerId, string state);
 
-		["amd"] string getServerState();
+		["amd"] void getServerState(string serverID);
+		["amd"] void registerGameServer(int serverid, int crossid);
+		["amd"] void getUnitHP(string instanceId, int objectId);
+		
 	};
 
 };

+ 5 - 1
XmdsServerCS/XmdsServerEdgeJS/XmdsServerEdgeJS.csproj

@@ -51,8 +51,9 @@
     </StartupObject>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="Ice, Version=3.6.1.0, Culture=neutral, PublicKeyToken=cdd571ade22f2f16, processorArchitecture=MSIL">
+    <Reference Include="Ice, Version=3.6.4.0, Culture=neutral, PublicKeyToken=cdd571ade22f2f16, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\Library\Ice.dll</HintPath>
     </Reference>
     <Reference Include="SuperSocket.Common, Version=1.6.4.0, Culture=neutral, PublicKeyToken=6c80000676988ebb, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
@@ -142,6 +143,9 @@
       <Name>XmdsServerNode</Name>
     </ProjectReference>
   </ItemGroup>
+  <ItemGroup>
+    <None Include="packages.config" />
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <PropertyGroup>
     <PostBuildEvent>

+ 4 - 0
XmdsServerCS/XmdsServerEdgeJS/packages.config

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="Ice" version="3.5.1.0" targetFramework="net48" />
+</packages>

BIN
packages/zeroc.icebuilder.msbuild.5.0.9/.signature.p7s


+ 134 - 0
packages/zeroc.icebuilder.msbuild.5.0.9/build/Ice.3.6.0.Cpp.props

@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2009-2017 ZeroC, Inc. All rights reserved. -->
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+    <!-- This file is imported when using Ice 3.6.0 with C++ projects -->
+    <!-- If using a source distribution try to locate the matching third part distribution-->
+    <PropertyGroup Condition="$(IceSourceHome) != '' And $(THIRDPARTY_HOME) == ''">
+        <IceThirdPartyHome>$([MSBuild]::GetRegistryValue("HKEY_LOCAL_MACHINE\SOFTWARE\ZeroC\Ice $(IceVersion) Third Party Packages", "InstallDir"))</IceThirdPartyHome>
+    </PropertyGroup>
+
+    <PropertyGroup Condition="$(IceSourceHome) != '' And $(THIRDPARTY_HOME) != ''">
+        <IceThirdPartyHome>$(THIRDPARTY_HOME)</IceThirdPartyHome>
+    </PropertyGroup>
+
+    <!-- platform toolset suffix -->
+    <PropertyGroup Condition="'$(Platform)' != 'Win32'">
+        <IcePlatformSuffix>$(Platform)\</IcePlatformSuffix>
+    </PropertyGroup>
+
+    <PropertyGroup Condition="'$(PlatformToolset)' == 'v110'">
+        <IceToolsetSuffix>vc110\</IceToolsetSuffix>
+    </PropertyGroup>
+
+    <PropertyGroup Condition="'$(PlatformToolset)' == 'v140'">
+        <IceToolsetSuffix>vc140\</IceToolsetSuffix>
+    </PropertyGroup>
+
+    <PropertyGroup Condition="'$(IceThirdPartyHome)' != ''">
+        <IceThirdPartyLib>$(IceThirdPartyHome)\lib\$(IceToolsetSuffix)$(IcePlatformSuffix)</IceThirdPartyLib>
+        <IceThirdPartyBin>$(IceThirdPartyHome)\bin\$(IceToolsetSuffix)$(IcePlatformSuffix)</IceThirdPartyBin>
+    </PropertyGroup>
+
+    <Choose>
+        <!-- Windows store application settings -->
+        <When Condition="'$(ApplicationType)' == 'Windows Store'">
+            <!-- Set Include, Library and SDK search paths for the given platform and configuration -->
+
+            <PropertyGroup Condition="'$(TargetPlatformIdentifier)' == 'Windows'">
+                <IceSDKPrefix>8.1</IceSDKPrefix>
+            </PropertyGroup>
+
+            <PropertyGroup Condition="'$(TargetPlatformIdentifier)' == 'UAP'">
+                <IceSDKPrefix>10</IceSDKPrefix>
+            </PropertyGroup>
+
+            <PropertyGroup Condition="!Exists('$(IceSourceHome)')">
+                <IceSDKDirectoryRoot>$(IceHome)\SDKs\</IceSDKDirectoryRoot>
+            </PropertyGroup>
+
+            <PropertyGroup Condition="Exists('$(IceSourceHome)')">
+                <IceSDKDirectoryRoot>$(IceHome)\cpp\SDKs\$(IceSDKPrefix)\</IceSDKDirectoryRoot>
+            </PropertyGroup>
+
+            <PropertyGroup Condition="'$(Configuration)' == 'Debug'">
+                <ConfigurationPrefix>Debug</ConfigurationPrefix>
+            </PropertyGroup>
+
+            <PropertyGroup Condition="'$(Configuration)' == 'Release'">
+                <ConfigurationPrefix>Retail</ConfigurationPrefix>
+            </PropertyGroup>
+
+            <!-- Set Include, Library and SDK search paths for the given platform and configuration -->
+            <PropertyGroup>
+                <IceExtensionSDKsDirectory>$(IceSDKDirectoryRoot)\$(TargetPlatformIdentifier)\v$(TargetPlatformVersion)\ExtensionSDKs</IceExtensionSDKsDirectory>
+                <IceSDKDirectory>$(IceExtensionSDKsDirectory)\Ice\$(IceVersionMM)</IceSDKDirectory>
+                <IceInclude>$(IceSDKDirectory)\Designtime\CommonConfiguration\Neutral\include</IceInclude>
+                <IceLib>$(IceSDKDirectory)\Designtime\$(ConfigurationPrefix)\$(PlatformTarget)</IceLib>
+                <IncludePath>$(IceInclude);$(IncludePath)</IncludePath>
+                <LibraryPath>$(IceLib);$(LibraryPath)</LibraryPath>
+                <SDKReferenceDirectoryRoot>$(IceSDKDirectoryRoot);$(SDKReferenceDirectoryRoot);$(ExtensionSDKDirectoryRoot)</SDKReferenceDirectoryRoot>
+            </PropertyGroup>
+
+            <!-- Add a reference to the Ice SDK -->
+            <ItemGroup>
+                <SDKReference Include="Ice, Version=$(IceVersionMM)"/>
+            </ItemGroup>
+        </When>
+        <!-- Windows C++ application settings-->
+        <Otherwise>
+
+            <!-- Ice binary distribution -->
+            <PropertyGroup Condition="!Exists('$(IceSourceHome)')">
+                <IceLib>$(IceHome)\lib\$(IceToolsetSuffix)$(IcePlatformSuffix)</IceLib>
+                <IceBin>$(IceHome)\bin\$(IceToolsetSuffix)$(IcePlatformSuffix)</IceBin>
+                <IceToolsPath>$(IceHome)\bin</IceToolsPath>
+                <IceInclude>$(IceHome)\include\</IceInclude>
+            </PropertyGroup>
+
+            <!-- Source distributions library, binary and  include paths -->
+            <PropertyGroup Condition="Exists('$(IceSourceHome)')">
+                <IceInclude>$(IceHome)\cpp\include\</IceInclude>
+                <IceBin>$(IceHome)\cpp\bin\</IceBin>
+                <IceToolsPath>$(IceHome)\cpp\bin</IceToolsPath>
+                <IceLib>$(IceHome)\cpp\lib\</IceLib>
+            </PropertyGroup>
+
+            <!-- Preprend our settings to C++ configuration settings -->
+            <PropertyGroup>
+                <IncludePath>$(IceInclude);$(IncludePath)</IncludePath>
+                <LibraryPath>$(IceLib);$(LibraryPath)</LibraryPath>
+            </PropertyGroup>
+
+            <!-- Setup build macros -->
+            <ItemGroup>
+                <BuildMacro Include="IceInclude">
+                    <Value>$(IceInclude)</Value>
+                    <EnvironmentVariable>true</EnvironmentVariable>
+                </BuildMacro>
+                <BuildMacro Include="IceLib">
+                    <Value>$(IceLib)</Value>
+                    <EnvironmentVariable>true</EnvironmentVariable>
+                </BuildMacro>
+                <BuildMacro Include="IceBin">
+                    <Value>$(IceBin)</Value>
+                    <EnvironmentVariable>true</EnvironmentVariable>
+                </BuildMacro>
+            </ItemGroup>
+        </Otherwise>
+    </Choose>
+
+    <!-- Debugger environment settings -->
+    <PropertyGroup Condition="$(IceThirdPartyHome) != ''">
+        <Path>$(IceThirdPartyBin);$(Path)</Path>
+    </PropertyGroup>
+
+    <PropertyGroup>
+        <Path>$(IceBin);$(Path)</Path>
+    </PropertyGroup>
+
+    <PropertyGroup>
+        <IceToolsPath Condition="'$(IceToolsPath)' == '' and Exists('$(IceHome)\bin')">$(IceHome)\bin</IceToolsPath>
+        <IceToolsBin Condition="'$(IceToolsBin)' == ''">$(IceToolsPath)</IceToolsBin>
+    </PropertyGroup>
+
+</Project>

+ 7 - 0
packages/zeroc.icebuilder.msbuild.5.0.9/build/ProjectItemsSchema.xaml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2009-2018 ZeroC, Inc. All rights reserved. -->
+<ProjectSchemaDefinitions xmlns="http://schemas.microsoft.com/build/2009/properties">
+    <ContentType Name="SliceSourceFile" DisplayName="Slice File" ItemType="SliceCompile" />
+    <ItemType Name="SliceCompile" DisplayName="Slice File" />
+    <FileExtension Name=".ice" ContentType="SliceSourceFile" />
+</ProjectSchemaDefinitions>

+ 57 - 0
packages/zeroc.icebuilder.msbuild.5.0.9/build/SliceCompile.CSharp.File.xaml

@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) ZeroC, Inc. All rights reserved. -->
+<Rule
+    Name="SliceCompileFile"
+    DisplayName="File Properties"
+    PageTemplate="generic"
+    Description="File Properties"
+    xmlns="http://schemas.microsoft.com/build/2009/properties">
+
+    <Rule.DataSource>
+        <DataSource Persistence="ProjectFile" Label="IceBuilder" HasConfigurationCondition="false" ItemType="SliceCompile" SourceOfDefaultValue="AfterContext"/>
+    </Rule.DataSource>
+
+    <Rule.Categories>
+        <Category Name="Advanced" DisplayName="Advanced" />
+        <Category Name="Misc" DisplayName="Misc" />
+    </Rule.Categories>
+
+    <DynamicEnumProperty
+        Name="{}{ItemType}"
+        DisplayName="Build Action"
+        Category="Advanced"
+        Description="How the file relates to the build and deployment processes."
+        EnumProvider="ItemTypes" />
+
+    <StringProperty
+        Name="Identity"
+        Visible="false"
+        ReadOnly="true"
+        Category="Misc"
+        Description="The item specified in the Include attribute.">
+        <StringProperty.DataSource>
+            <DataSource Persistence="Intrinsic" ItemType="SliceCompile" PersistedName="Identity" SourceOfDefaultValue="AfterContext" />
+        </StringProperty.DataSource>
+    </StringProperty>
+
+    <StringProperty
+        Name="FullPath"
+        DisplayName="Full Path"
+        ReadOnly="true"
+        Category="Misc"
+        Description="Location of the file.">
+        <StringProperty.DataSource>
+            <DataSource Persistence="Intrinsic" ItemType="SliceCompile" PersistedName="FullPath" SourceOfDefaultValue="AfterContext" />
+        </StringProperty.DataSource>
+    </StringProperty>
+
+    <StringProperty Name="Link" Visible="false">
+        <StringProperty.DataSource>
+            <DataSource PersistenceStyle="Attribute" SourceOfDefaultValue="AfterContext" />
+        </StringProperty.DataSource>
+        <StringProperty.Metadata>
+            <NameValuePair Name="DoNotCopyAcrossProjects" Value="true" />
+        </StringProperty.Metadata>
+    </StringProperty>
+
+</Rule>

+ 65 - 0
packages/zeroc.icebuilder.msbuild.5.0.9/build/SliceCompile.CSharp.xaml

@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) ZeroC, Inc. All rights reserved. -->
+<Rule
+    Name="SliceCompile"
+    DisplayName="Ice Builder"
+    PageTemplate="generic"
+    Order="201"
+    Description="Ice Builder project settings"
+    xmlns="http://schemas.microsoft.com/build/2009/properties">
+
+    <Rule.DataSource>
+        <DataSource
+            Persistence="ProjectFile"
+            ItemType=""
+            Label="IceBuilder"
+            HasConfigurationCondition="false"
+            SourceOfDefaultValue="AfterContext"/>
+    </Rule.DataSource>
+
+    <StringProperty
+        Name="OutputDir"
+        DisplayName="Output Directory"
+        Description="Directory of C# source files generated by slice2cs."
+        Subtype="folder"
+        Category="General">
+        <StringProperty.DataSource>
+            <DataSource
+                Persistence="ProjectFile"
+                ItemType="SliceCompile"
+                Label="IceBuilder"
+                HasConfigurationCondition="false"
+                SourceOfDefaultValue="AfterContext"/>
+        </StringProperty.DataSource>
+    </StringProperty>
+
+    <StringListProperty
+        Name="IncludeDirectories"
+        DisplayName="Include Directories"
+        Description="Specifies one or more directories to add to the Slice include path; use semi-colons (;) as directory separators."
+        Subtype="folder"
+        Category="General">
+        <StringListProperty.DataSource>
+            <DataSource
+                Persistence="ProjectFile"
+                ItemType="SliceCompile"
+                Label="IceBuilder"
+                HasConfigurationCondition="false"
+                SourceOfDefaultValue="AfterContext"/>
+        </StringListProperty.DataSource>
+    </StringListProperty>
+
+    <StringListProperty
+        DisplayName="Additional Options"
+        Name="AdditionalOptions"
+        Description="Additional command-line options to pass to slice2cs.">
+        <StringListProperty.DataSource>
+            <DataSource
+                Persistence="ProjectFile"
+                ItemType="SliceCompile"
+                Label="IceBuilder"
+                HasConfigurationCondition="false"
+                SourceOfDefaultValue="AfterContext"/>
+        </StringListProperty.DataSource>
+    </StringListProperty>
+</Rule>

+ 104 - 0
packages/zeroc.icebuilder.msbuild.5.0.9/build/SliceCompile.Cpp.File.xaml

@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2009-2018 ZeroC, Inc. All rights reserved. -->
+<Rule
+    Name="SliceCompileFile"
+    DisplayName="Ice Builder"
+    PageTemplate="generic"
+    Description="Ice Builder file settings"
+    xmlns="http://schemas.microsoft.com/build/2009/properties">
+
+    <Rule.DataSource>
+        <DataSource Persistence="ProjectFile" ItemType="SliceCompile" Label="IceBuilder" HasConfigurationCondition="false"/>
+    </Rule.DataSource>
+
+    <StringProperty
+        Name="OutputDir"
+        DisplayName="Output Directory"
+        Description="Directory of C++ source files generated by slice2cpp."
+        Subtype="folder"
+        Category="General">
+        <StringProperty.DataSource>
+            <DataSource Persistence="ProjectFile" ItemType="SliceCompile" Label="IceBuilder" HasConfigurationCondition="false"/>
+        </StringProperty.DataSource>
+    </StringProperty>
+
+    <StringProperty
+        Name="HeaderOutputDir"
+        DisplayName="Header Output Directory"
+        Description="Directory of C++ header files generated by slice2cpp; if left unset, use Output Directory."
+        Subtype="folder"
+        Category="General">
+        <StringProperty.DataSource>
+            <DataSource Persistence="ProjectFile" ItemType="SliceCompile" Label="IceBuilder" HasConfigurationCondition="false"/>
+        </StringProperty.DataSource>
+    </StringProperty>
+
+    <!-- Parsing Options -->
+    <StringListProperty
+        Name="IncludeDirectories"
+        DisplayName="Include Directories"
+        Description="Specifies one or more directories to add to the Slice include path; use semi-colons (;) as directory separators."
+        Subtype="folder"
+        Category="General">
+        <StringListProperty.DataSource>
+            <DataSource Persistence="ProjectFile" ItemType="SliceCompile" Label="IceBuilder" HasConfigurationCondition="false"/>
+        </StringListProperty.DataSource>
+    </StringListProperty>
+
+    <!-- Output Options -->
+    <StringProperty
+        Name="BaseDirectoryForGeneratedInclude"
+        DisplayName="Base Directory For Generated #include"
+        Category="General"
+        Description="Base directory for #include directives in C++ files generated by slice2cpp.">
+        <StringProperty.DataSource>
+            <DataSource Persistence="ProjectFile" ItemType="SliceCompile" Label="IceBuilder" HasConfigurationCondition="false"/>
+        </StringProperty.DataSource>
+    </StringProperty>
+
+    <EnumProperty
+        Name="HeaderExt"
+        DisplayName="Generated Header Extension"
+        Description="File extension for C++ header files generated by slice2cpp."
+        Category="General">
+        <EnumValue Name="h" DisplayName=".h" Description=".h"/>
+        <EnumValue Name="hpp" DisplayName=".hpp" Description=".hpp"/>
+        <EnumValue Name="hh" DisplayName=".hh" Description=".hh"/>
+        <EnumValue Name="hxx" DisplayName=".hxx" Description=".hxx"/>
+        <EnumProperty.DataSource>
+            <DataSource Persistence="ProjectFile" ItemType="SliceCompile" Label="IceBuilder" HasConfigurationCondition="false"/>
+        </EnumProperty.DataSource>
+    </EnumProperty>
+
+    <EnumProperty
+        Name="SourceExt"
+        DisplayName="Generated Source Extension"
+        Description="File extension for C++ source files generated by slice2cpp."
+        Category="General">
+        <EnumValue Name="cpp" DisplayName=".cpp" Description=".cpp"/>
+        <EnumValue Name="cc" DisplayName=".cc" Description=".cc"/>
+        <EnumValue Name="cxx" DisplayName=".cxx" Description=".cxx"/>
+        <EnumProperty.DataSource>
+            <DataSource Persistence="ProjectFile" ItemType="SliceCompile" Label="IceBuilder" HasConfigurationCondition="false"/>
+        </EnumProperty.DataSource>
+    </EnumProperty>
+
+    <StringListProperty
+        DisplayName="Additional Options"
+        Name="AdditionalOptions"
+        Description="Additional command-line options to pass to slice2cpp.">
+        <StringListProperty.DataSource>
+            <DataSource Persistence="ProjectFile" ItemType="SliceCompile" Label="IceBuilder" HasConfigurationCondition="false"/>
+        </StringListProperty.DataSource>
+    </StringListProperty>
+
+    <!-- BUGFIX: With Visual Studio 2017 we need to have at least one property with a configuration condition otherwise our
+         property page will not show up -->
+    <StringProperty
+        Name="Dummy"
+        Visible="False">
+        <StringProperty.DataSource>
+            <DataSource Persistence="ProjectFile" ItemType="SliceCompile" Label="IceBuilder" HasConfigurationCondition="true"/>
+        </StringProperty.DataSource>
+    </StringProperty>
+</Rule>

+ 116 - 0
packages/zeroc.icebuilder.msbuild.5.0.9/build/SliceCompile.Cpp.xaml

@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2009-2018 ZeroC, Inc. All rights reserved. -->
+<Rule
+    Name="SliceCompile"
+    DisplayName="Ice Builder"
+    PageTemplate="generic"
+    Description="Ice Builder project settings"
+    xmlns="http://schemas.microsoft.com/build/2009/properties">
+
+    <Rule.DataSource>
+        <DataSource Persistence="ProjectFile" ItemType="" Label="IceBuilder" HasConfigurationCondition="false"/>
+    </Rule.DataSource>
+
+    <StringProperty
+        Name="OutputDir"
+        DisplayName="Output Directory"
+        Description="Directory of C++ source files generated by slice2cpp."
+        Subtype="folder"
+        Category="General">
+        <StringProperty.DataSource>
+            <DataSource Persistence="ProjectFile" ItemType="SliceCompile" Label="IceBuilder" HasConfigurationCondition="false"/>
+        </StringProperty.DataSource>
+    </StringProperty>
+
+    <StringProperty
+        Name="HeaderOutputDir"
+        DisplayName="Header Output Directory"
+        Description="Directory of C++ header files generated by slice2cpp; if left unset, use Output Directory."
+        Subtype="folder"
+        Category="General">
+        <StringProperty.DataSource>
+            <DataSource Persistence="ProjectFile" ItemType="SliceCompile" Label="IceBuilder" HasConfigurationCondition="false"/>
+        </StringProperty.DataSource>
+    </StringProperty>
+
+    <!-- Parsing Options -->
+    <StringListProperty
+        Name="IncludeDirectories"
+        DisplayName="Include Directories"
+        Description="Specifies one or more directories to add to the Slice include path; use semi-colons (;) as directory separators."
+        Subtype="folder"
+        Category="General">
+        <StringListProperty.DataSource>
+            <DataSource Persistence="ProjectFile" ItemType="SliceCompile" Label="IceBuilder" HasConfigurationCondition="false"/>
+        </StringListProperty.DataSource>
+    </StringListProperty>
+
+    <!-- Output Options -->
+    <StringProperty
+        Name="BaseDirectoryForGeneratedInclude"
+        DisplayName="Base Directory For Generated #include"
+        Category="General"
+        Description="Base directory for #include directives in C++ files generated by slice2cpp.">
+        <StringProperty.DataSource>
+            <DataSource Persistence="ProjectFile" ItemType="SliceCompile" Label="IceBuilder" HasConfigurationCondition="false"/>
+        </StringProperty.DataSource>
+    </StringProperty>
+
+    <EnumProperty
+        Name="HeaderExt"
+        DisplayName="Generated Header Extension"
+        Description="File extension for C++ header files generated by slice2cpp."
+        Category="General">
+        <EnumValue Name="h" DisplayName=".h" Description=".h"/>
+        <EnumValue Name="hpp" DisplayName=".hpp" Description=".hpp"/>
+        <EnumValue Name="hh" DisplayName=".hh" Description=".hh"/>
+        <EnumValue Name="hxx" DisplayName=".hxx" Description=".hxx"/>
+        <EnumProperty.DataSource>
+            <DataSource Persistence="ProjectFile" ItemType="SliceCompile" Label="IceBuilder" HasConfigurationCondition="false"/>
+        </EnumProperty.DataSource>
+    </EnumProperty>
+
+    <EnumProperty
+        Name="SourceExt"
+        DisplayName="Generated Source Extension"
+        Description="File extension for C++ source files generated by slice2cpp."
+        Category="General">
+        <EnumValue Name="cpp" DisplayName=".cpp" Description=".cpp"/>
+        <EnumValue Name="cc" DisplayName=".cc" Description=".cc"/>
+        <EnumValue Name="cxx" DisplayName=".cxx" Description=".cxx"/>
+        <EnumProperty.DataSource>
+            <DataSource Persistence="ProjectFile" ItemType="SliceCompile" Label="IceBuilder" HasConfigurationCondition="false"/>
+        </EnumProperty.DataSource>
+    </EnumProperty>
+
+    <StringListProperty
+        DisplayName="Additional Options"
+        Name="AdditionalOptions"
+        Description="Additional command-line options to pass to slice2cpp.">
+        <StringListProperty.DataSource>
+            <DataSource Persistence="ProjectFile" ItemType="SliceCompile" Label="IceBuilder" HasConfigurationCondition="false"/>
+        </StringListProperty.DataSource>
+    </StringListProperty>
+
+    <EnumProperty
+        DisplayName="C++ Mapping"
+        Name="IceCppMapping"
+        Description="Select C++11 to define ICE_CPP11_MAPPING when compiling C++ code (applies only to Ice 3.7 and Visual Studio 2015 or later)"
+        Category="C++ Preprocessor">
+                <EnumValue Name="cpp11" DisplayName="C++11" Description="C++11"/>
+                <EnumValue Name="cpp98" DisplayName="C++98" Description="C++98"/>
+        <EnumProperty.DataSource>
+            <DataSource Persistence="ProjectFile" ItemType="" Label="IceBuilder" HasConfigurationCondition="false"/>
+        </EnumProperty.DataSource>
+    </EnumProperty>
+
+    <!-- BUGFIX: With Visual Studio 2017 we need to have at least one property with a configuration condition otherwise our
+         property page will not show up -->
+    <StringProperty
+        Name="Dummy"
+        Visible="False">
+        <StringProperty.DataSource>
+            <DataSource Persistence="ProjectFile" ItemType="SliceCompile" Label="IceBuilder" HasConfigurationCondition="true"/>
+        </StringProperty.DataSource>
+    </StringProperty>
+</Rule>

+ 35 - 0
packages/zeroc.icebuilder.msbuild.5.0.9/build/zeroc.icebuilder.msbuild.common.props

@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2009-2018 ZeroC, Inc. All rights reserved. -->
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+    <!-- IceHome set explicitly: load version properties from the config/ice.props file, if present -->
+    <ImportGroup Condition="'$(IceNugetPackageVersion)' == '' and '$(IceHome)' != ''">
+        <Import Project="$(IceHome)\config\ice.props"
+                Condition="Exists('$(IceHome)\config\ice.props')"/>
+    </ImportGroup>
+
+    <!-- Look up IceHome, in the Windows registry -->
+    <PropertyGroup Condition="'$(IceNugetPackageVersion)' == '' and '$(IceHome)' == '' and '$(OS)' == 'Windows_NT'">
+        <IceHome>$(Registry:HKEY_CURRENT_USER\Software\ZeroC\IceBuilder@IceHome)</IceHome>
+        <IceVersion>$(Registry:HKEY_CURRENT_USER\Software\ZeroC\IceBuilder@IceVersion)</IceVersion>
+        <IceIntVersion>$(Registry:HKEY_CURRENT_USER\Software\ZeroC\IceBuilder@IceIntVersion)</IceIntVersion>
+        <IceVersionMM>$(Registry:HKEY_CURRENT_USER\Software\ZeroC\IceBuilder@IceVersionMM)</IceVersionMM>
+    </PropertyGroup>
+
+    <PropertyGroup>
+        <EnableDefaultSliceCompileItems Condition="'$(EnableDefaultSliceCompileItems)' == ''">true</EnableDefaultSliceCompileItems>
+    </PropertyGroup>
+
+    <ItemGroup Condition="'$(EnableDefaultItems)' == 'true'">
+        <SliceCompile Condition="'$(EnableDefaultSliceCompileItems)' == 'true'" Include="**\*.ice"
+                      Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder);@(SliceCompile)"/>
+    </ItemGroup>
+
+    <!-- Ice MSBuild properties not provided by Ice versions older than 3.7.0, IceIntVersion was not correctly set with
+         3.6.0 and we need to alos check '$(IceVersion) == '3.6.0' -->
+    <PropertyGroup Condition="'$(IceIntVersion)' != '' and ('$(IceIntVersion)' &lt; '30700' or '$(IceVersion)' == '3.6.0')">
+        <!-- Slice tasks use IceToolsPath to locate the Slice compilers -->
+        <IceToolsPath Condition="'$(IceToolsPath)' == '' and Exists('$(IceHome)\bin')">$(IceHome)\bin</IceToolsPath>
+        <!-- IceToolsBin is no longer used as of Ice 3.7, but IceBuilder sets it for projects that use Ice 3.6 -->
+        <IceToolsBin Condition="'$(IceToolsBin)' == ''">$(IceToolsPath)</IceToolsBin>
+    </PropertyGroup>
+</Project>

+ 24 - 0
packages/zeroc.icebuilder.msbuild.5.0.9/build/zeroc.icebuilder.msbuild.cpp.props

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2009-2018 ZeroC, Inc. All rights reserved. -->
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+    <!-- default values -->
+    <ItemDefinitionGroup>
+        <SliceCompile>
+            <OutputDir>$(IntDir)</OutputDir>
+            <HeaderExt>h</HeaderExt>
+            <SourceExt>cpp</SourceExt>
+        </SliceCompile>
+    </ItemDefinitionGroup>
+    <Choose>
+        <When Condition="'$(VisualStudioVersion)' &gt;= '14.0'">
+            <PropertyGroup>
+                <IceCppMapping>cpp11</IceCppMapping>
+            </PropertyGroup>
+        </When>
+        <Otherwise>
+            <PropertyGroup>
+                <IceCppMapping>cpp98</IceCppMapping>
+            </PropertyGroup>
+        </Otherwise>
+    </Choose>
+</Project>

+ 161 - 0
packages/zeroc.icebuilder.msbuild.5.0.9/build/zeroc.icebuilder.msbuild.cpp.targets

@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2009-2018 ZeroC, Inc. All rights reserved. -->
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+    <!-- Import our custom MSbuild tasks used to build Ice for C++ projects -->
+    <UsingTask TaskName="IceBuilder.MSBuild.Slice2CppTask"
+               AssemblyFile="$(MSBuildThisFileDirectory)..\tools\net45\zeroc.icebuilder.msbuild.dll"/>
+
+    <UsingTask TaskName="IceBuilder.MSBuild.Slice2CppDependTask"
+               AssemblyFile="$(MSBuildThisFileDirectory)..\tools\net45\zeroc.icebuilder.msbuild.dll"/>
+
+    <!-- Import common settings -->
+    <Import Project="$(MSBuildThisFileDirectory)\zeroc.icebuilder.msbuild.common.props"/>
+
+    <!-- Import Ice.cpp.props file provided by Ice 3.6 binary distribution -->
+    <Import Project="$(IceHome)\config\Ice.Cpp.props"
+            Condition="'$(IceNugetPackageVersion)' == '' and Exists('$(IceHome)\config\Ice.Cpp.props')"/>
+
+    <!-- With Ice 3.6.0 the C++ props were not part of the Ice distribution. They are included with
+         Ice Builder for MSBuild for backwards compatibility -->
+    <Import Project="$(MSBuildThisFileDirectory)\Ice.3.6.0.Cpp.props"
+            Condition="'$(IceVersion)' == '3.6.0' and Exists('$(MSBuildThisFileDirectory)\Ice.3.6.0.Cpp.props')"/>
+
+    <!-- With Ice 3.6 the LocalDebuggerEviroment settings are not set in the targets file we add IceBin
+         to the PATH here -->
+    <PropertyGroup Condition="'$(IceIntVersion)' != '' and ('$(IceIntVersion)' &lt; '30700' or '$(IceVersion)' == '3.6.0')">
+        <LocalDebuggerEnvironment>PATH=$(IceBin)</LocalDebuggerEnvironment>
+    </PropertyGroup>
+
+    <ItemGroup>
+        <PropertyPageSchema Include="$(MSBuildThisFileDirectory)ProjectItemsSchema.xaml" />
+        <PropertyPageSchema Include="$(MSBuildThisFileDirectory)SliceCompile.Cpp.xaml">
+            <Context>Project</Context>
+        </PropertyPageSchema>
+        <PropertyPageSchema Include="$(MSBuildThisFileDirectory)SliceCompile.Cpp.File.xaml">
+            <Context>File</Context>
+        </PropertyPageSchema>
+        <AvailableItemName Include="SliceCompile"/>
+    </ItemGroup>
+
+    <ItemDefinitionGroup Condition="'$(IceCppMapping)' == 'cpp11' and '$(IceIntVersion)' != '' and '$(IceIntVersion)' &gt;= '30700' and '$(VisualStudioVersion)' &gt;= '14.0'">
+        <ClCompile>
+            <PreprocessorDefinitions>ICE_CPP11_MAPPING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+        </ClCompile>
+    </ItemDefinitionGroup>
+
+    <Target Name="SliceCompile" BeforeTargets="CLCompile"
+            Condition="@(SliceCompile) != ''">
+
+        <Error Text="Ice Installation invalid or not detected. Invalid IceHome setting `$(IceHome)'"
+               Condition="!Exists('$(IceHome)')" />
+
+        <Error Text="Ice Installation invalid or not detected. Invalid IceToolsPath setting `$(IceToolsPath)'"
+               Condition="!Exists('$(IceToolsPath)')" />
+
+        <Error Text="The Ice Builder requires Ice Version 3.6 or later. Invalid IceHome setting `$(IceHome)'"
+               Condition="'$(IceIntVersion)' == '' Or '$(IceIntVersion)' &lt; '30600'" />
+
+        <Warning Text="The C++11 mapping is only available for Ice 3.7 with Visual Studio 2015 or later"
+                 Condition="'$(IceCppMapping)' == 'cpp11' and ('$(IceIntVersion)' &lt; '30700' or '$(VisualStudioVersion)' &lt; '14.0')"/>
+        <!--
+            Create the output directories
+        -->
+        <MakeDir Directories="%(SliceCompile.OutputDir)" Condition="!Exists('%(SliceCompile.OutputDir)')"/>
+        <MakeDir Directories="%(SliceCompile.HeaderOutputDir)" Condition="!Exists('%(SliceCompile.HeaderOutputDir)')"/>
+
+        <!-- First we check dependencies to compute which Slice files need to be recompiled -->
+        <Slice2CppDependTask
+            IceHome                           = "$(IceHome)"
+            IceToolsPath                      = "$(IceToolsPath)"
+            WorkingDirectory                  = "$(MSBuildProjectDirectory)"
+            Sources                           = "@(SliceCompile)">
+
+            <Output
+                ItemName                      = "_SliceCompile"
+                TaskParameter                 = "ComputedSources"/>
+
+             <Output
+                PropertyName      = "_SliceCompileGeneratedPaths"
+                TaskParameter     = "GeneratedCompiledPaths"/>
+
+        </Slice2CppDependTask>
+
+        <!-- Compile the Slice files -->
+        <Slice2CppTask
+            IceHome                           = "$(IceHome)"
+            IceToolsPath                      = "$(IceToolsPath)"
+            WorkingDirectory                  = "$(MSBuildProjectDirectory)"
+            OutputDir                         = "%(_SliceCompile.OutputDir)"
+            HeaderOutputDir                   = "%(_SliceCompile.HeaderOutputDir)"
+            IncludeDirectories                = "%(_SliceCompile.IncludeDirectories)"
+            AdditionalOptions                 = "%(_SliceCompile.AdditionalOptions)"
+            BaseDirectoryForGeneratedInclude  = "%(_SliceCompile.BaseDirectoryForGeneratedInclude)"
+            HeaderExt                         = "%(_SliceCompile.HeaderExt)"
+            SourceExt                         = "%(_SliceCompile.SourceExt)"
+            Sources                           = "@(_SliceCompile)"
+            Condition                         = "'%(_SliceCompile.BuildRequired)' == 'True'">
+            <Output
+                ItemName                      = "_SliceCompileTLogItem"
+                TaskParameter                 = "ComputedSources"/>
+        </Slice2CppTask>
+
+        <!--
+            Include all C++ generated source items that have not been manually included. We want to delay this until we are
+            running the SliceCompile target so that the Visual Studio extension has a chance to add the items to the project in
+            a persistent way. If the extension is not enabled or we are building from the command line we just add the
+            missing items in a transient way.
+
+            The builder's depend task has an output property named GeneratedPaths that contains the paths of all generated items.
+        -->
+
+        <ItemGroup>
+            <ClCompile Include="$(_SliceCompileGeneratedPaths)"
+                       Exclude="@(ClCompile->'%(FullPath)');@(ClCompile->'%(Identity)')" />
+        </ItemGroup>
+
+        <!--
+            TLog files are used by Visual Studio's up to date check to figure out if a project file
+            needs to be rebuilt.
+        -->
+        <!-- Write TLog files -->
+        <MakeDir Directories="$(TLogLocation)" Condition="!Exists('$(TLogLocation)')"/>
+
+        <WriteLinesToFile File                = "$(TLogLocation)\slice2cpp.write.1u.tlog"
+                          Encoding            = "Unicode"
+                          Overwrite           = "true"
+                          Lines               = ""/>
+
+        <WriteLinesToFile File                = "$(TLogLocation)\slice2cpp.write.1u.tlog"
+                          Encoding            = "Unicode"
+                          Lines               = "^%(_SliceCompile.FullPath);%(_SliceCompile.Outputs)"
+                          Condition           = "'%(_SliceCompile.Outputs)' != ''"/>
+
+        <WriteLinesToFile File                = "$(TLogLocation)\slice2cpp.write.1u.tlog"
+                          Encoding            = "Unicode"
+                          Lines               = "^%(_SliceCompileTLogItem.FullPath);%(_SliceCompileTLogItem.Outputs)"
+                          Condition           = "'%(_SliceCompileTLogItem.Outputs)' != ''"/>
+
+        <!-- Read TLog files -->
+        <WriteLinesToFile File                = "$(TLogLocation)\slice2cpp.read.1u.tlog"
+                          Encoding            = "Unicode"
+                          Overwrite           = "true"
+                          Lines               = ""/>
+
+        <WriteLinesToFile File                = "$(TLogLocation)\slice2cpp.read.1u.tlog"
+                          Encoding            = "Unicode"
+                          Lines               = "^%(_SliceCompile.FullPath);%(_SliceCompile.Inputs)"
+                          Condition           = "'%(_SliceCompile.Inputs)' != ''"/>
+
+        <WriteLinesToFile File                = "$(TLogLocation)\slice2cpp.read.1u.tlog"
+                          Encoding            = "Unicode"
+                          Lines               = "^%(_SliceCompileTLogItem.FullPath);%(_SliceCompileTLogItem.Inputs)"
+                          Condition           = "'%(_SliceCompileTLogItem.Inputs)' != ''"/>
+    </Target>
+
+    <Target Name="SliceCompileClean" BeforeTargets="Clean">
+        <Delete Files="@(SliceCompile->'%(OutputDir)\%(Filename).%(SourceExt)')"/>
+        <Delete Files="@(SliceCompile->'%(OutputDir)\%(Filename).%(HeaderExt)')"/>
+        <Delete Files="@(SliceCompile->'%(OutputDir)\SliceCompile.%(Filename).d')"/>
+    </Target>
+</Project>

+ 16 - 0
packages/zeroc.icebuilder.msbuild.5.0.9/build/zeroc.icebuilder.msbuild.csharp.15.0.targets

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2009-2018 ZeroC, Inc. All rights reserved. -->
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+    <ItemGroup Condition="'$(SetLinkMetadataAutomatically)' != 'false'">
+        <SliceCompile Update="@(SliceCompile)">
+            <LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase>
+            <Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link>
+        </SliceCompile>
+    </ItemGroup>
+
+    <!-- When enable default items is true, *.ice and *.d files are included as None items we remove them here -->
+    <ItemGroup Condition="'$(EnableDefaultItems)' == 'true'">
+        <None Remove="**\*.ice"/>
+        <None Remove="**\SliceCompile.*.d"/>
+    </ItemGroup>
+</Project>

+ 10 - 0
packages/zeroc.icebuilder.msbuild.5.0.9/build/zeroc.icebuilder.msbuild.csharp.props

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2009-2018 ZeroC, Inc. All rights reserved. -->
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+    <!-- default values -->
+    <ItemDefinitionGroup>
+        <SliceCompile>
+            <OutputDir>$(MSBuildProjectDirectory)\generated</OutputDir>
+        </SliceCompile>
+    </ItemDefinitionGroup>
+</Project>

+ 108 - 0
packages/zeroc.icebuilder.msbuild.5.0.9/build/zeroc.icebuilder.msbuild.csharp.targets

@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2009-2018 ZeroC, Inc. All rights reserved. -->
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+    <Choose>
+        <When Condition="'$(MSBuildAssemblyVersion)' == '' or '$(MSBuildAssemblyVersion)' &lt; '15.0'">
+            <PropertyGroup>
+                <SliceCompileAssemblyDir>net45</SliceCompileAssemblyDir>
+            </PropertyGroup>
+        </When>
+        <Otherwise>
+            <PropertyGroup>
+                <SliceCompileAssemblyDir>netstandard2.0</SliceCompileAssemblyDir>
+            </PropertyGroup>
+        </Otherwise>
+    </Choose>
+
+    <!-- Import our custom MSbuild tasks used to build Ice for CSharp projects -->
+    <UsingTask TaskName="IceBuilder.MSBuild.Slice2CSharpTask"
+               AssemblyFile="$(MSBuildThisFileDirectory)..\tools\$(SliceCompileAssemblyDir)\zeroc.icebuilder.msbuild.dll"/>
+
+    <UsingTask TaskName="IceBuilder.MSBuild.Slice2CSharpDependTask"
+               AssemblyFile="$(MSBuildThisFileDirectory)..\tools\$(SliceCompileAssemblyDir)\zeroc.icebuilder.msbuild.dll"/>
+
+    <!-- Import IceBuilder common settings -->
+    <Import Project="$(MSBuildThisFileDirectory)\zeroc.icebuilder.msbuild.common.props"/>
+
+    <ItemGroup>
+        <PropertyPageSchema Include="$(MSBuildThisFileDirectory)ProjectItemsSchema.xaml" />
+        <!-- This capability is used to apply the Slice property page designer -->
+        <ProjectCapability Include="SliceCompile" />
+        <PropertyPageSchema Include="$(MSBuildThisFileDirectory)SliceCompile.CSharp.xaml">
+            <Context>Project</Context>
+        </PropertyPageSchema>
+        <PropertyPageSchema Include="$(MSBuildThisFileDirectory)SliceCompile.CSharp.File.xaml">
+            <Context>File;BrowseObject</Context>
+        </PropertyPageSchema>
+        <AvailableItemName Include="SliceCompile"/>
+    </ItemGroup>
+
+    <!--
+        Settings that are only supported with MSBuild 15.0 and up. The item Update
+        attribute is not supported with older MSBuild versions.
+    -->
+    <Import Project="$(MSBuildThisFileDirectory)\zeroc.icebuilder.msbuild.csharp.15.0.targets"
+            Condition="'$(MSBuildAssemblyVersion)' != '' and '$(MSBuildAssemblyVersion)' &gt; '14.0'"/>
+
+    <Target Name="SliceCompile" BeforeTargets="CoreCompile"
+            Condition="@(SliceCompile) != ''">
+
+        <Error Text="Ice Installation invalid or not detected. Invalid IceHome setting `$(IceHome)'"
+               Condition="!Exists('$(IceHome)')" />
+
+        <Error Text="Ice Installation invalid or not detected. Invalid IceToolsPath setting `$(IceToolsPath)'"
+               Condition="!Exists('$(IceToolsPath)')" />
+
+        <Error Text="The Ice Builder requires Ice Version 3.6 or later. Invalid IceHome setting `$(IceHome)'"
+               Condition="'$(IceIntVersion)' == '' Or '$(IceIntVersion)' &lt; '30600'" />
+
+        <MakeDir Directories="%(SliceCompile.OutputDir)"/>
+
+        <!-- First we check dependencies and compute which Slice files need to be recompiled -->
+        <Slice2CSharpDependTask
+            WorkingDirectory      = "$(MSBuildProjectDirectory)"
+            IceHome               = "$(IceHome)"
+            IceToolsPath          = "$(IceToolsPath)"
+            Sources               = "@(SliceCompile)">
+
+            <Output
+                ItemName          = "_SliceCompile"
+                TaskParameter     = "ComputedSources"/>
+
+            <Output
+                PropertyName      = "_SliceCompileGeneratedPaths"
+                TaskParameter     = "GeneratedCompiledPaths"/>
+
+        </Slice2CSharpDependTask>
+
+        <!-- Compile the Slice files -->
+        <Slice2CSharpTask
+            WorkingDirectory      = "$(MSBuildProjectDirectory)"
+            IceHome               = "$(IceHome)"
+            IceToolsPath          = "$(IceToolsPath)"
+            OutputDir             = "%(_SliceCompile.OutputDir)"
+            IncludeDirectories    = "%(_SliceCompile.IncludeDirectories)"
+            AdditionalOptions     = "%(_SliceCompile.AdditionalOptions)"
+            Sources               = "@(_SliceCompile)"
+            Condition             = "'%(_SliceCompile.BuildRequired)' == 'True'"/>
+
+        <!--
+            Include all C# generated source items that have not been manually included. We want to delay this until we are
+            running the SliceCompile target so that the Visual Studio extension has a chance to add these items to the project in
+            a persistent way. If the extension is not enabled or we are building from the command line we just add the
+            missing items in a transient way.
+
+            The builder's depend task has an output property named GeneratedPaths that contains the paths of all generated items.
+        -->
+
+        <ItemGroup>
+            <Compile Include="$(_SliceCompileGeneratedPaths)"
+                     Exclude="@(Compile->'%(FullPath)');@(Compile->'%(Identity)')" />
+        </ItemGroup>
+    </Target>
+
+    <Target Name="SliceCompileClean" BeforeTargets="Clean">
+        <Delete Files="@(SliceCompile->'%(OutputDir)\%(Filename).cs')"/>
+        <Delete Files="@(SliceCompile->'%(OutputDir)\SliceCompile.%(Filename).d')"/>
+    </Target>
+</Project>

+ 11 - 0
packages/zeroc.icebuilder.msbuild.5.0.9/build/zeroc.icebuilder.msbuild.props

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2009-2018 ZeroC, Inc. All rights reserved. -->
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+    <ImportGroup Condition="'$(MSBuildProjectExtension)' == '.vcxproj'">
+        <Import Project="$(MSBuildThisFileDirectory)zeroc.icebuilder.msbuild.cpp.props"/>
+    </ImportGroup>
+
+    <ImportGroup Condition="'$(MSBuildProjectExtension)' == '.csproj'">
+        <Import Project="$(MSBuildThisFileDirectory)zeroc.icebuilder.msbuild.csharp.props"/>
+    </ImportGroup>
+</Project>

+ 11 - 0
packages/zeroc.icebuilder.msbuild.5.0.9/build/zeroc.icebuilder.msbuild.targets

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2009-2018 ZeroC, Inc. All rights reserved. -->
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+    <ImportGroup Condition="'$(MSBuildProjectExtension)' == '.vcxproj'">
+        <Import Project="$(MSBuildThisFileDirectory)zeroc.icebuilder.msbuild.cpp.targets"/>
+    </ImportGroup>
+
+    <ImportGroup Condition="'$(MSBuildProjectExtension)' == '.csproj'">
+        <Import Project="$(MSBuildThisFileDirectory)zeroc.icebuilder.msbuild.csharp.targets"/>
+    </ImportGroup>
+</Project>

BIN
packages/zeroc.icebuilder.msbuild.5.0.9/tools/net45/zeroc.icebuilder.msbuild.dll


BIN
packages/zeroc.icebuilder.msbuild.5.0.9/tools/netstandard2.0/zeroc.icebuilder.msbuild.dll


BIN
packages/zeroc.icebuilder.msbuild.5.0.9/zeroc.icebuilder.msbuild.5.0.9.nupkg