1 か月前に自分のアプリ用のパッケージャーを作成しましたが、今日まで問題なく動作していました。.wapproj
パッケージャーのファイルも.csproj
WPF プロジェクトのファイルも変更せずに、アプリをパッケージ化しようとすると、突然次のエラー メッセージが表示されます。
「RuntimeIdentifier を指定せずに自己完結型アプリケーションをビルドまたは公開することはサポートされていません。RuntimeIdentifier を指定するか、SelfContained を false に設定してください。」
つまり、WPFプロジェクト<SelfContained>false</SelfContained>
のファイルに追加することで解決しようとしましたが、何も変わりませんでした。.csproj
これは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>
<PropertyGroup>
そして、これは Packager プロジェクトの.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 パッケージャー プロジェクトではビルド コードを変更できないため、役に立ちません。
- RuntimeIdentifiers と SelfContained : OP は自分で解決策を提案しましたが、それは私が試しましたが、うまくいきませんでした。
- ビルドまたは公開は「サポートされていません」... :コンソールを使用してパッケージ化するのではなく、パッケージャープロジェクトを使用してパッケージ化しているため、与えられた答えは適用されないため、
.wapproj
ファイル内のすべてのパラメーターを指定する必要があります - self-contained=false を使用してソースから MSIX パッケージを作成する方法: 「答え」がうまくいきませんでした。