【发布时间】:2021-01-03 07:16:48
【问题描述】:
我正在使用 Visual Studio for Mac。
我发现了这个https://forums.xamarin.com/discussion/96777/how-to-set-info-plist-properties-with-vs-build-configurations,它描述了如何设置具有特定构建配置的辅助 plist 文件。哪个效果很好..
<None Include="Entitlements.plist" Condition="'$(Configuration)' != 'Debug-Staging'" />
<None Include="Entitlements-staging.plist" Condition="'$(Configuration)' == 'Debug-Staging'">
<LogicalName>Entitlements.plist</LogicalName>
</None>
但是这种方法不适用于嵌入式资源...
<EmbeddedResource Include="ClientResources\myfolder\config.json"
Condition="'$(Configuration)' != 'Debug-Staging'" />
<EmbeddedResource Include="ClientResources\myfolder\config-staging.json"
Condition="'$(Configuration)' == 'Debug-Staging'">
<LogicalName>config.json</LogicalName>
</EmbeddedResource>
我还尝试了具有完整路径的 LogicalName... 同样将条件放在 ItemGroup 上也无济于事。
编辑:
这是我创建的示例项目... https://github.com/JulesMoorhouse/ConfigBuildConfig/blob/master/ConfigBuildConfig/ConfigBuildConfig.csproj
如果选择了Debug-Staging 配置会发生什么,它应该读取config-staging.json 并在控制台中输出值。
这些消息来源表明这应该可行...
【问题讨论】:
-
你是否将config.json文件
Build Action设置为Embedded Resource。 -
感谢@LeoZhu-MSFT for config.json 是的...但我认为您的意思可能是 config-staging.json...可能不是...将尝试并报告??? ?
-
@LeoZhu-MSFT 没用......我想知道是不是名字,LogicalName 似乎没有填充在属性中,它是灰色的。虽然我可能错了,这就是问题所在。
-
@LeoZhu-MSFT 我已经添加了一个示例项目github.com/JulesMoorhouse/ConfigBuildConfig 也见上面的编辑
-
你可以看看这个blog。希望对你有帮助。
标签: visual-studio xamarin visual-studio-mac