如何在 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>
为了让不同的配置可用于测试不同的移动设备 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>