如何在 Rider 中转换 .json 文件

How to transform .json files in Rider

为了让不同的配置可用于测试不同的移动设备 OS,我尝试在 Rider 中创建转换文件 (config/appsettings).json 文件.

在骑手网站上有一个博客展示了如何对 .config 文件执行此操作: XDT configuration transformations in Rider

Visual Studio 有一个允许 .json 转换的扩展名为 SlowCheetah:SlowCheetah - Visual Studio Marketplace

到目前为止,我无法在 Rider 中对 .json 个文件执行此操作。

XDT代表XML数据转换,因此不支持JSON。

但是您可以在每个环境中使用不同的 JSON 文件,如 official docs:

中所述
// appsettings.json
{
  "MyKey": "My default Value",
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  }
}

// appsettings.Development.json
{
  "MyKey": "My Development Value"
}

// appsettings.Production.json
{
  "MyKey": "My Production Value"
}

请注意,它绑定到新的 .NET(又名 .NET Core,.NET ≥ 5)。

好的,请注意我自己的问题 ;)

我想我可以更改 .csproj 项目文件来创建(但不生成)转换文件:

<ItemGroup>
    <None Update="Config\Config.Android.json">
      <IsTransformFile>true</IsTransformFile>
      <DependentUpon>Config.json</DependentUpon>
    </None>
    <None Update="Config\Config.IOS.json">
      <IsTransformFile>true</IsTransformFile>
      <DependentUpon>Config.json</DependentUpon>
    </None>
    <None Update="Config\Config.json">
        <TransformOnBuild>true</TransformOnBuild>
        <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
</ItemGroup>
<ItemGroup>
    <None Update="appsettings.json">
        <TransformOnBuild>true</TransformOnBuild>
        <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <None Update="appsettings.IOS.json">
        <IsTransformFile>true</IsTransformFile>
        <DependentUpon>appsettings.json</DependentUpon>
    </None>
    <None Update="appsettings.Android.json">
        <IsTransformFile>true</IsTransformFile>
        <DependentUpon>appsettings.json</DependentUpon>
    </None>
</ItemGroup>