Visual studio 2015 无法发布到另一台计算机上的服务结构本地群集

Visual studio 2015 无法发布到另一台计算机上的服务结构本地群集,visual-studio-2015,azure-service-fabric,Visual Studio 2015,Azure Service Fabric,我今天在我的开发机器上安装了一个本地集群来玩游戏。但是,当上载一些来宾exe时,结构崩溃。我甚至只测试了加载简单的旧notepad.exe,但遗憾的是同样的崩溃。 作为进一步的测试,我将notepad.exe推送到公共方集群,它运行得很好。给出了一个类似的错误,根据评论,我怀疑这是Windows7的问题 所以下一个想法是在一个新的Windows server VM上安装一个本地集群,并尝试发布到该虚拟机。但我也碰到了另一面墙。我可以连接到“远程”群集的web管理界面,可以看到所有结构进程在端口1

我今天在我的开发机器上安装了一个本地集群来玩游戏。但是,当上载一些来宾exe时,结构崩溃。我甚至只测试了加载简单的旧notepad.exe,但遗憾的是同样的崩溃。 作为进一步的测试,我将notepad.exe推送到公共方集群,它运行得很好。给出了一个类似的错误,根据评论,我怀疑这是Windows7的问题

所以下一个想法是在一个新的Windows server VM上安装一个本地集群,并尝试发布到该虚拟机。但我也碰到了另一面墙。我可以连接到“远程”群集的web管理界面,可以看到所有结构进程在端口19000上运行和侦听,但VS 2015在发布期间拒绝连接。 我禁用了防火墙,认为这是问题所在,并“ping”了各种端口进行验证。有些人回应(如19080年),但不是19000年

想法

更新:在远程机器上运行powershell connect命令可以正常工作

更新2:我已将“本地群集”安装到其他3台机器上,所有机器都执行完全相同的操作

更新3:使用netsh命令在远程计算机上创建了一个端口转发,以从18090路由到19000。现在,我可以通过powershell从本地计算机连接到远程计算机的本地群集。(我还注意到,如果远程计算机上的用户名/密码不在同一个域中,则它们需要相同) Visual Studio现在也可以连接,但powershell脚本在中途出错,以下是输出

*>正在将应用程序复制到图像存储。。。 复制应用程序包成功 正在注册应用程序类型。。。 注册ServiceFabricApplicationType:应用程序清单文件 在存储中找不到“FabricApp2Type\ApplicationManifest.xml”。 位于C:\Program Files\Microsoft SDK\Service Fabric\Tools\PSModule\ServiceFabric DK\Publish NewsServiceFabricApplication.ps1:244字符:9 +注册ServiceFabricApplicationType-ApplicationPathInImageStore $appl。。。 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ +类别信息:ResourceUnavailable:(Microsoft.Servi…usterCon) 连接:ClusterConnection)[注册服务FabricApplication类型],文件号
tFoundException +FullyQualifiedErrorId:RegisterApplicationTypeErrorId,Microsoft.Service Fabric.Powershell.RegisterApplicationType

已完成执行脚本“Deploy FabricApplication.ps1”*

我现在求助于在远程机器上安装visual studio的本地副本,并使用它来运行我的测试,因为我的Windows 7机器不会

虽然我现在的努力是绕过Win7 bug,但我可以看到在其他机器上使用“本地集群”进行开发和调试的好处。比必须在Azure中建立一个开发人员集群要容易得多,而且比推送到公共方集群更安全。我希望SF团队中已经有人在致力于允许VS远程部署和调试


如果有人对如何解决目前的问题提出了建议,请发布。我也对测试想法感到高兴。

我在DevTest实验室中托管了几个小型单机开发集群,它们运行良好

我认为关键的区别在于我使用的是Service Fabric独立安装程序,而不是SDK。我尝试让SDK版本正常工作,结果与您发现的相同

这些是我在DevTest实验室内部发布的创建单机“微型集群”的指令

  • 从Azure站点下载Service Fabric独立软件包
    然后解压缩
  • 编辑文件ClusterConfig.Unsecure.DevCluster
  • 使用本地计算机的ip地址或主机名更新3个ip地址条目,例如“iPAddress”:“10.0.0.5”
  • 使用PowerShell命令创建群集(使用admin)。\CreateServiceFabricCluster.ps1-ClusterConfigFilePath
    .\ClusterConfig.Unsecure.DevCluster.json-AcceptEULA
  • 通过打开浏览器验证群集创建是否完成-
  • 打开本地计算机上的发布端口(如果使用普通ARM计算机而不是dev测试,则打开端点防火墙)

  • 我有几个小型单机开发集群托管在DevTest实验室,它们运行良好

    我认为关键的区别在于我使用的是Service Fabric独立安装程序,而不是SDK。我尝试让SDK版本正常工作,结果与您发现的相同

    这些是我在DevTest实验室内部发布的创建单机“微型集群”的指令

  • 从Azure站点下载Service Fabric独立软件包
    然后解压缩
  • 编辑文件ClusterConfig.Unsecure.DevCluster
  • 使用本地计算机的ip地址或主机名更新3个ip地址条目,例如“iPAddress”:“10.0.0.5”
  • 使用PowerShell命令创建群集(使用admin)。\CreateServiceFabricCluster.ps1-ClusterConfigFilePath
    .\ClusterConfig.Unsecure.DevCluster.json-AcceptEULA
  • 通过打开浏览器验证群集创建是否完成-
  • 打开本地计算机上的发布端口(如果使用普通ARM计算机而不是dev测试,则打开端点防火墙)

  • 使用SDK创建本地集群仅用于单机开发,不能远程发布应用程序。要创建远程本地群集,请使用独立软件包(如Chuck Duffy所建议)

    使用SDK创建本地群集仅用于单盒开发,您不能远程向其发布应用程序。要创建远程本地群集,请使用独立软件包(如Chuck Duffy建议的)

    我们在Windows 7和来宾可执行文件中遇到了相同的问题。在Azure或Windows 10上运行效果良好。我们最终将来宾可执行文件包装在一个无状态服务中,该服务允许我们在Windows7上本地运行和调试。总的来说,这是一个更好的解决方案