如何禁止为 Actor 服务创建 DefaultService?

How to disable creation of DefaultService for Actor Service?

每次我使用(有状态的)Actor 服务构建解决方案时,服务都会自动添加到 ApplicationManifest.xml DefaultServices 部分。

如何为我想要手动实例化的服务禁用此行为?

我尝试通过删除 <DefaultService> 标签来修改 Actor 服务的 ServiceManifest.xml,但它也会在每次构建时自动添加回来。

所有服务都自动设置为默认。您不能仅禁用该功能。最好的选择是插入一些 MSBuild 逻辑,在对文件应用这些不需要的更改后更新应用程序清单文件。您可以将其集成到主打包逻辑中,以便在您从 VS 发布或 F5 时自动执行。

为此,您可以将 MSBuild 目标添加到您的 .sfproj 文件中:

<Target Name="AfterPackage" AfterTargets="Package">
  <!-- Insert your MSBuild logic here -->
</Target>

通过在此处插入您自己的 MSBuild 逻辑,您可以对应用程序清单文件进行必要的更改,并在 VS 运行包操作时隐式执行这些更改。因此,在您的情况下,您可以更新文件以不将服务定义为默认服务。您可以使用 PackageLocation MSBuild 属性.

确定包文件夹的路径