dotnet / maui

.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
https://dot.net/maui
MIT License
22.28k stars 1.76k forks source link

Debug start fails for Tizen App #8035

Open JoonghyunCho opened 2 years ago

JoonghyunCho commented 2 years ago

Description

I would like to ask about 2 issues related to Tizen framework.

  1. No Tizen target devices are found on Visual Studio
  2. Deploy failed for Tizen

No Tizen target devices are Found

On Visual Studio, Tizen target devices or emulators are not targeted when net6.0-tizen target framework is selected.

Tizen target devices are shown only when net6.0-tizen is coded at the very first target framework like below. However, in this case no other target devices are selected.

<TargetFrameworks>net6.0-tizen;net6.0-android;net6.0-ios;net6.0-maccatalyst</TargetFrameworks>

Deploy failed for Tizen

When I tried to do Start without debugging(Ctrl + F5) It fails with appxrecipe file does not exist. It seems like a similar issue occured to windows target framework(https://github.com/dotnet/maui/issues/2493). The detailed log is following

Starting local deployment...
Deploy: START
DeployAsync: START
Reading package recipe file "C:\Users\jh5.cho\source\repos\MauiApp4\MauiApp4\bin\Debug\net6.0-tizen\tizen-x86\MauiApp4.build.appxrecipe"...
DEP1700: The recipe file "C:\Users\jh5.cho\source\repos\MauiApp4\MauiApp4\bin\Debug\net6.0-tizen\tizen-x86\MauiApp4.build.appxrecipe" does not exist. You may need to build your project.
    DeploymentSucceeded = False
    DeploymentError = Err_Recipe_DoesNotExist
    DeploymentUserError = False
    DeploymentHRESULT = 2147942402
    HasSharedCode = False
    Target.Id = 256
    ProjectGuid = {6ede1560-7c5a-42a9-8e6a-cdc97d06616f}
    Project.TargetPlatformVersion = 7.0
Deleting file "vs.appxrecipe" from layout...
DeployAsync: END (Failure, 0:00:00.103)
Deploy: END (Failure, 0:00:00.171)

Steps to Reproduce

  1. Install Visual Studio Tools for Tizen on Visual Studio 2022 Preview and install Tizen workload.(https://github.com/Samsung/Tizen.NET/wiki/Installing-Tizen-.NET-Workload)
  2. Create Maui template application and uncomment net6.0-tizen TargetFramework at csproj like below.
    <PropertyGroup>
        <TargetFrameworks>net6.0-android;net6.0-ios;net6.0-maccatalyst</TargetFrameworks>
        <TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net6.0-windows10.0.19041.0</TargetFrameworks>
        <!-- Uncomment to also build the tizen app. You will need to install tizen by following this: https://github.com/Samsung/Tizen.NET -->
        <TargetFrameworks>$(TargetFrameworks);net6.0-tizen</TargetFrameworks>  <-- uncommend this line.
  3. Select Framework on the menu and see how the devices are detected.

Version with bug

6.0 (current)

Last version that worked well

Unknown/Other

Affected platforms

Other (Tizen, Linux, etc. not supported by Microsoft directly)

Affected platform versions

Tizen

Did you find any workaround?

No workaround.

Relevant log output

Following log is shown when the app is deployed.

Starting local deployment...
Deploy: START
DeployAsync: START
Reading package recipe file "C:\Users\jh5.cho\source\repos\MauiApp4\MauiApp4\bin\Debug\net6.0-tizen\tizen-x86\MauiApp4.build.appxrecipe"...
DEP1700: The recipe file "C:\Users\jh5.cho\source\repos\MauiApp4\MauiApp4\bin\Debug\net6.0-tizen\tizen-x86\MauiApp4.build.appxrecipe" does not exist. You may need to build your project.
    DeploymentSucceeded = False
    DeploymentError = Err_Recipe_DoesNotExist
    DeploymentUserError = False
    DeploymentHRESULT = 2147942402
    HasSharedCode = False
    Target.Id = 256
    ProjectGuid = {6ede1560-7c5a-42a9-8e6a-cdc97d06616f}
    Project.TargetPlatformVersion = 7.0
Deleting file "vs.appxrecipe" from layout...
DeployAsync: END (Failure, 0:00:00.103)
Deploy: END (Failure, 0:00:00.171)

DevOps Issues

sangwook96 commented 2 years ago

@jfversluis Hello, Thank you very much for taking it up. Do you have any progress or if you are not an owner, could you assign it to others? We are waiting for your feedback. Thanks

sangwook96 commented 2 years ago

@jfversluis Hi, Today, we are testing to get even a workaround. but we did not do it till now. Also, As you can see https://github.com/dotnet/maui/issues/8075 In the latest 17.3 Preview 2.0, we cannot debug tizen apps(net6.0-tizen targetFramework). In previous preview versions, we could debug the Tizen app by keeping only "net6.0-tizen" as TargetFramework in csproject file. Now, there is no debug option for "net6.0-tizen" targetFramework apps. Actually, in Tizen, we can not use the Maui project. We need to have your help to complete our mission to apply it on Tizen. Thanks

sangwook96 commented 2 years ago

@jfversluis HI No Tizen target devices are Found on Multiple target lists We enabled Tizen Target Framework <TargetFrameworks>$(TargetFrameworks);net6.0-tizen</TargetFrameworks>

Image2

But We can not see Tizen Target on the Target Lists. Just we can see Android/Ios/Windows Targets.

Image3

Could you check it,too?

sangwook96 commented 2 years ago

@mattleibow Hello, Excuse me but we are waiting for your big support for applying Maui in Tizen? Do you have any idea or progress about these Tizen issues? If you have anything, please share it with us, too.

Have a good weekend!! Thanks

veikkoeeva commented 2 years ago

This feels related, but when trying to compile I get kuva from https://github.com/Samsung/Tizen.NET/tree/main/samples/HelloMaui.

I used the instruction at https://docs.tizen.org/application/vstools/install/.

Windows 10, Visual Studio 2022 version 17.3.0 Preview 2.0.

I added also global.json with contents such as

{
  "sdk": {
    "version": "6.0.400-preview.22301.10",
    "allowPrerelease": true
  }
}

dotnet --list-sdks 2.2.402 [C:\Program Files\dotnet\sdk] 3.1.300 [C:\Program Files\dotnet\sdk] 3.1.420 [C:\Program Files\dotnet\sdk] 5.0.101 [C:\Program Files\dotnet\sdk] 5.0.104 [C:\Program Files\dotnet\sdk] 5.0.203 [C:\Program Files\dotnet\sdk] 5.0.214 [C:\Program Files\dotnet\sdk] 5.0.302 [C:\Program Files\dotnet\sdk] 5.0.303 [C:\Program Files\dotnet\sdk] 6.0.100-rc.1.21458.32 [C:\Program Files\dotnet\sdk] 6.0.203 [C:\Program Files\dotnet\sdk] 6.0.301 [C:\Program Files\dotnet\sdk] 6.0.400-preview.22301.10 [C:\Program Files\dotnet\sdk]

dotnet --version 6.0.400-preview.22301.10

dotnet workload list

Installed Workload Ids Installation Source

maui-tizen SDK 6.0.400 maui-windows VS 17.3.32611.2 maui-maccatalyst VS 17.3.32611.2 maccatalyst VS 17.3.32611.2 maui-ios VS 17.3.32611.2 ios VS 17.3.32611.2 maui-android VS 17.3.32611.2 android VS 17.3.32611.2

sangwook96 commented 2 years ago

@veikkoeeva Hi Thank you very much for giving the feedback here. For me, I tested the below like that. I installed the workload ".NET Multi-Platform App UI development" via Visual Studio Installer for Preview And then I created the Maui application ".NET MAUI App" And then, I removed the comment <!-- <TargetFrameworks>$(TargetFrameworks);net6.0-tizen</TargetFrameworks> --> on th e *.csproj And then, I rebuild it. ========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========

All target frameworks with net6.0-tizen, was built successfully. Could you follow that steps? Thanks

JoonghyunCho commented 2 years ago

@veikkoeeva The error seems the Tizen workload may be not installed properly. You may want to uninstall and reinstall Tizen workload. Check out Here for installing workload through VSIX or CLI. Plus, You now don't have to use HelloMaui sample as now Tizen is included in default Maui template as one of the targetframework. Create and use Maui template and just uncomment <TargetFrameworks>$(TargetFrameworks);net6.0-tizen</TargetFrameworks> targetfremwork line in csproj.

veikkoeeva commented 2 years ago

Hey, thanks @sangwook96 and @JoonghyunCho!

I will check the instruction tomorrow. I used the sample so to have a simple starting project with Windows, Android, Apple OSes and Tizen included. In fact one with a WebView, but maybe it won't be a hassle. It may be a Tizen becomes an interesting/important use case, at leat in Europe. Though I don't want to hijack this issue anymore. Thanks again! :)

sangwook96 commented 2 years ago

@veikkoeeva Hi, Thank you very much for your interest in it. As you see it, we are also waiting for Microsoft's answers. You can see how the issues are progressing, here.

Thanks

talebi commented 2 years ago

@veikkoeeva when installing tizen workload, before doing step 3 in here, make sure you start VS as admin. it is not mentioned in the docs.

ghost commented 2 years ago

We've moved this issue to the Backlog milestone. This means that it is not going to be worked on for the coming release. We will reassess the backlog following the current release and consider this item at that time. To learn more about our issue management process and to have better expectation regarding different types of issues you can read our Triage Process.

vivek-ellur commented 1 year ago

Hi,

When moved to a newer version of VS2022 Community(Version 17.4.2), we can see that the IMobileProjectPlatform callbacks are triggered and subsequently we are able to update the MAUI debug menu options with Tizen devices.

However, we cannot debug the application in the Tizen environment when net6.0-tizen is placed anywhere but beginning:- The project doesn't know how to run the profile with name 'M-7.0-x86(emulator-26101)' and command 'Tizen'

As we were checking this problem, we found some more details:- We were analyzing the configured project ProjectDebugLaunchProvider(IDebugLaunchProvider) with net6.0-tizen TargetFramework options.

When net6.0-tizen is placed at the beginning, the configured project member "ConfiguredProject.ConfiguredProjectVersionKey" like this:-> CpsProject:0:MauiApp6.Debug|AnyCPU

While when net6.0-tizen TargetFramework is placed anywhere but beginning, the aforementioned member shows:->CpsProject:1:MauiApp6.Debug|AnyCPU|net6.0-android.

Thanks, Vivek

Eilon commented 1 year ago

@mattleibow - any idea if this is on the Tizen radar? In Teams or elsewhere?

ghost commented 1 year ago

We've added this issue to our backlog, and we will work to address it as time and resources allow. If you have any additional information or questions about this issue, please leave a comment. For additional info about issue management, please read our Triage Process.

samhouts commented 1 year ago

@mauroa Do you know if there is more for us to do to fix this experience?

mauroa commented 1 year ago

@samhouts sorry I missed this. I think it should get assigned to the VSCX Tools team, with an AzDO bug and then we could close this

samhouts commented 1 year ago

Okay! I've assigned this to you for now. https://dev.azure.com/devdiv/DevDiv/_workitems/edit/1878136 Thanks!!

Zhanglirong-Winnie commented 1 year ago

Verified this issue with Visual Studio Enterprise 17.8.0 Preview 1.0. Can repro this issue. Screenshot 2023-09-12 143755