たくさんの自由帳
Androidのお話
たくさんの自由帳
投稿日 : | 0 日前
文字数(だいたい) : 3977
どうもこんばんわ。
Windows サンドボックス
にファイルをコピーしたくて、どうすれば良いのかなって調べたら、ファイルをコピーしてサンドボックスで貼り付ければいいらしい。
https://www.reddit.com/r/Windows10/comments/bwcgrd/how_do_i_move_files_between_windows_and_windows/
たしかに、別にテキスト以外も送れたのか・・・
.NET 6
のLTS
がついに終わってしまうらしい。ので、今回は次のLTS
である.NET 8
にします。
今も使ってるWindows
で動くアプリが.NET 6
時代のままなので、アップデートしていきます。
自作アプリはWindows App SDK
でできたアプリと、WinForm
のアプリになります。それらを上げます
なまえ | あたい |
---|---|
Windows | 10 Pro |
Visual Studio | Community 2022 Version 17.11.4 |
git
を使ってバージョン管理してるならすぐ戻せますが、もし使ってない場合はバックアップしといたほうが良いです。
.NET アップグレード アシスタント
を入れる?
ダウンロードします
パッケージがダウンロードできるので、Visual Studio へインストールします。
もしかしたらVisual Studio
の拡張から直接入れられたかも知れない。
ダブルクリックするとなんか始まる
Visual Studio
起動中だと進まないので閉じます
さっきと同じようにアップグレードを押すとこんな画面に。
.NET バージョン
の方を選ぶ
.NET 8
を選んで次へ。
よくわかんないし、最悪戻せるのでこのままアップグレードの選択
を押します
はじまりました。と思ったらほとんどスキップで終わった。
差分をgit
で見てみたけど、<TargetFramework>
が変わったくらい?
ソリューションから、プロジェクト選んで、Nugetパッケージの管理
を押して、更新があれば更新しておきます。
いやさっき.NET 8
にしたんですけど、なんでまだ6
使ってると思われてるの?
というわけで色々見てみた感じ、どうやらまだ設定しないとダメらしい?
まずはプロパティを開きます
つぎに、上げたはずのターゲットフレームワーク
を.NET 8
にします。、、、、む、押しても戻ってしまいます
もしプロジェクト内にProperties
があって、その中にPublishProfiles
がある場合、その傘下にあるファイルの.NET
バージョンも変更する必要があります。
多分値は、アップグレードアシスタントの値と同じものを入れておけば良さそう。
<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PublishProtocol>FileSystem</PublishProtocol>
<Platform>x64</Platform>
<RuntimeIdentifier>win10-x64</RuntimeIdentifier>
<PublishDir>bin\\\win10-x64\publish\win10-x64\</PublishDir>
<SelfContained>false</SelfContained>
<PublishSingleFile>true</PublishSingleFile>
<PublishReadyToRun Condition="'$(Configuration)' == 'Debug'">False</PublishReadyToRun>
<Configuration>Release</Configuration>
<TargetFramework>net8.0-windows10.0.19041.0</TargetFramework>
<!--
See https://github.com/microsoft/CsWinRT/issues/373
<PublishTrimmed>True</PublishTrimmed>
-->
</PropertyGroup>
</Project>
これで晴れて.NET 8
に更新することができました。
ありがとうございます:https://zenn.dev/shinta0806/articles/dotnet8-netsdk1083
指定された RuntimeIdentifier、'win10-x64' が認識されません。 詳細については、「 https://aka.ms/netsdk1083 」を参照してください。
リンク先は https://learn.microsoft.com/ja-jp/dotnet/core/compatibility/sdk/8.0/rid-graph
どうやら、win10-x64
となっている部分を、win-x64
にしろってことらしい。
プロジェクトをダブルクリックすると、xml
が開くはずで、その中から<RuntimeIdentifiers>
の行を探します。
わたしの場合はこうなってて、これをまずは以下のようにします。win10
をwin
だけにする。
<RuntimeIdentifiers>win10-x86;win10-x64;win10-arm64</RuntimeIdentifiers>
<RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>
つぎに、Properties
のPublishProfiles
にあるファイルにも<RuntimeIdentifiers>
があるので、同様にwin10
をwin
だけにしていきます。
Properties\PublishProfiles\win10-arm64.pubxml
<RuntimeIdentifier>win-arm64</RuntimeIdentifier>
Properties\PublishProfiles\win10-x64.pubxml
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
Properties\PublishProfiles\win10-x86.pubxml
<RuntimeIdentifier>win-x86</RuntimeIdentifier>
.NET 8
にしたけどまだダメなのかな。。。
This version of the Windows App SDK requires Microsoft.Windows.SDK.NET.Ref 10.0.19041.38 or later.
Please update to .NET SDK 6.0.134, 6.0.426, 8.0.109, 8.0.305 or 8.0.402 (or later).
Or add a temporary Microsoft.Windows.SDK.NET.Ref reference which can be added with:
<PropertyGroup>
<WindowsSdkPackageVersion>10.0.19041.38</WindowsSdkPackageVersion>
</PropertyGroup>
というか私以外も引っかかってるのこれ?
https://github.com/microsoft/WindowsAppSDK/issues/4698
とりあえずPropertyGroup
に一行書き足せって書いてあるので書き足してみる。一番最後のWindowsSdkPackageVersion
ってやつ。
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows10.0.19041.0</TargetFramework>
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
<RootNamespace>DesktopLine</RootNamespace>
<ApplicationManifest>app.manifest</ApplicationManifest>
<Platforms>x86;x64;arm64</Platforms>
<RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>
<PublishProfile>win10-$(Platform).pubxml</PublishProfile>
<UseWinUI>true</UseWinUI>
<EnableMsixTooling>true</EnableMsixTooling>
<ApplicationIcon>Resources\desktop_line_icon.ico</ApplicationIcon>
<WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained>
<WindowsPackageType>None</WindowsPackageType>
<WindowsSdkPackageVersion>10.0.19041.38</WindowsSdkPackageVersion>
</PropertyGroup>
やったぜ
zip
にWindows App SDK
吐き出せるか試します。プロジェクトを右クリックで発行を押します。
一回も押したことがない場合は違う画面が開くと思う?。既存のプロジェクトなのでそのまま発行
を押します。
成功したぽい!!
おおお
ちゃんと起動できた。
多分<TargetFramework>
がnet8
になるだけ?
該当部分抜き出し。
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
</PropertyGroup>
直したリポジトリ