Xamarin:针对不同构建配置的不同 appxmanifest 文件
Posted
技术标签:
【中文标题】Xamarin:针对不同构建配置的不同 appxmanifest 文件【英文标题】:Xamarin: Different appxmanifest files for different build configurations 【发布时间】:2018-05-28 06:45:10 【问题描述】:我想为某些构建配置使用不同的 Package.appxmanifest 文件。我不能在我的 Xamarin-UWP 项目中包含多个 appxmanifest 文件。 像 android 那样做的想法也行不通:
处理多个 AndroidManifest 文件:
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release-CH|AnyCPU'">
…
<AndroidManifest>Properties\AndroidManifestCH.xml</AndroidManifest>
</PropertyGroup>
如何为 UWP 实现这一目标?
【问题讨论】:
【参考方案1】:像 Android 那样做的想法也行不通
根据App package manifest,每个应用包都必须包含一个包清单。如果在 uwp 中新建 appxmanifest 文件,会抛出如下错误。
该项目包含 2 个表示应用清单的项目:Package.appxmanifest、Test.appxmanifest。该项目只能包含一个应用清单
如果您确实想为某些构建配置使用不同的 Package.appxmanifest
文件。你可以手动编辑FileGuidTest.csproj
。
右键项目->卸载项目->重新右键项目->编辑Project.csproj文件。
<ItemGroup>
<AppxManifest Include="Package.appxmanifest">
<SubType>Designer</SubType>
</AppxManifest>
<AppxManifest Include="app.appxmanifest">
<SubType>Designer</SubType>
</AppxManifest>
<None Include="FileGuidTest_TemporaryKey.pfx" />
<AppxManifest Include="Test.appxmanifest">
<SubType>Designer</SubType>
</AppxManifest>
</ItemGroup>
找出上面的ItemGroup
节点,只保留一个AppxManifest
。然后修改follow PropertyGroup节点。
<PropertyGroup>
<ApplicationManifest>Package.appxmanifest</ApplicationManifest>
</PropertyGroup>
【讨论】:
不起作用。我添加了大约 10 个 PropertyGroups:Package.appxmanifest ...并在具有所需条件的一个中添加:PackageCH.appxmanifest ...另外我在 ItemGroup 中添加了两个文件(不属于任何 PropertyGropus):...ItemGroup
和 PropertyGroup
都只有一个元素。
这似乎行得通。但是,尽管 PackageCH.appxmanifest 不是 ItemGroup 的一部分(而是在一个 PropertyGroup 中),但它在项目的可视树视图中显示为项目文件。以上是关于Xamarin:针对不同构建配置的不同 appxmanifest 文件的主要内容,如果未能解决你的问题,请参考以下文章