一个月前,我为我的应用程序创建了一个 Packager,到目前为止它一直运行良好,直到今天。在没有更改.wapproj
Packager 文件中的任何内容的情况下,也没有更改.csproj
我的 WPF 项目的文件,我现在在尝试打包应用程序时突然收到以下错误消息:
“不支持在不指定 RuntimeIdentifier 的情况下构建或发布自包含应用程序。请指定 RuntimeIdentifier 或将 SelfContained 设置为 false。”
我已经尝试通过执行它所说的来解决它,即添加<SelfContained>false</SelfContained>
到.csproj
WPF 项目的文件中,但没有任何改变。这是PropertyGroup
我的.csproj
文件中的:
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UseWPF>true</UseWPF>
<AssemblyName>...</AssemblyName>
<ApplicationIcon>Assets\icon.ico</ApplicationIcon>
<Platforms>AnyCPU;x64;x86</Platforms>
<SelfContained>false</SelfContained>
</PropertyGroup>
这是Packager项目文件的<PropertyGroup>
“主要”:.wapproj
<PropertyGroup>
<ProjectGuid>...</ProjectGuid>
<TargetPlatformVersion>10.0.18362.0</TargetPlatformVersion>
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
<DefaultLanguage>en-EN</DefaultLanguage>
<AppxPackageSigningEnabled>True</AppxPackageSigningEnabled>
<EntryPointProjectUniqueName>...</EntryPointProjectUniqueName>
<PackageCertificateThumbprint>...</PackageCertificateThumbprint>
<GenerateAppInstallerFile>True</GenerateAppInstallerFile>
<AppxPackageSigningTimestampDigestAlgorithm>SHA256</AppxPackageSigningTimestampDigestAlgorithm>
<AppxAutoIncrementPackageRevision>True</AppxAutoIncrementPackageRevision>
<GenerateTestArtifacts>True</GenerateTestArtifacts>
<AppxBundlePlatforms>x86|x64</AppxBundlePlatforms>
<AppInstallerUri>...</AppInstallerUri>
<HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks>
<SelfContained>false</SelfContained>
</PropertyGroup>
请注意,我看到了以下问题,但它们并没有帮助我解决我的问题:
- 无法将自包含的 .NET Core 3.0 应用程序部署到 AWS Lambda:没有帮助,因为据我所知,MSIX Packager 项目不允许我修改构建代码
- RuntimeIdentifiers 和 SelfContained:OP 自己提出了一个解决方案,我尝试过但对我不起作用。
- “不支持”构建或发布...:给出的答案不适用,因为我不是使用控制台打包而是使用打包程序项目,所以我需要在
.wapproj
文件中指定所有参数 - 如何使用 self-contained=false 从源创建 MSIX pckage:“答案”对我不起作用。