Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev Center Certification Fails for Microsoft.NETCore.UniversalWindowsPlatform 6.0.1 #23900

Closed
Tracked by #64015
Petermarcu opened this issue Oct 19, 2017 · 19 comments
Closed
Tracked by #64015
Milestone

Comments

@Petermarcu
Copy link
Member

@EdiWang reported this here: microsoft/dotnet#528

Steps to Reproducte:

  1. Upgrade UWP's nuget package to Microsoft.NETCore.UniversalWindowsPlatform 6.0.1
  2. Target 16299 for both target and min version.
  3. Generate an app package to upload to store

Actual Behaviour:

Certification Failed

PI ClearCommBreak in kernel32.dll is not supported for this application type. System.IO.Ports.dll calls this API.
API ClearCommError in kernel32.dll is not supported for this application type. System.IO.Ports.dll calls this API.
.... etc.

Workaround

Downgrade the package to 5.4.1 will fix the problem.

Note

I don't know if the dev center is not ready for verify 6.x uwp package, or it is the package itself have problem?

FYI the question on MSDN forum https://social.msdn.microsoft.com/Forums/en-US/b7355d61-cbf9-42e6-a9eb-44ffa144aa1f/rs31709certification-failure-due-to-unsupported-apis-after-upgrading-to-16299-sdk?forum=wpsubmit

@Petermarcu
Copy link
Member Author

@danmosemsft

@danmoseley
Copy link
Member

This is a known issue in WACK that Windows folks are working on right now. It only occurs if you use System.IO.Ports (Serial Ports) .. why AcrylicBrush would cause that to be pulled in, I am not sure. I'll update when I get more data.

@danmoseley
Copy link
Member

If this is blocking you, we can work to get you a store waiver so you can submit despite this bogus error.

@EdiWang
Copy link

EdiWang commented Oct 20, 2017

@danmosemsft @Petermarcu I confirmed, AcrylicBrush is not affecting this issue, the store certification will fail regardless of using AcrylicBrush or not. Sorry for the incorrect information. Please update the issue description to remove step 2.

@danmoseley
Copy link
Member

@EdiWang you said that submit to store worked earlier -- is that correct? what changed between then and when it failed?

@EdiWang
Copy link

EdiWang commented Oct 20, 2017

@danmosemsft

I made a mistake, the earlier working one was using UWP 5.4.1 and targeting 16299. The AcrylicBrush still works on UWP 5.4.1.

In 6.0.1, the store certification is always failing, nothing to do with AcrylicBrush. And my app is not using Serial Ports API.

In the MSDN forum thread, serveral people also encounter this issue.

@EdiWang
Copy link

EdiWang commented Oct 20, 2017

@danmosemsft

I think this problem is regardless of using System.IO.Ports or not, the Dev Center always thinks there are API calls from System.IO.Ports.

For example, you can try my open source UWP App https://github.com/EdiWang/UWP-CharacterMap

  1. Update to UWP 6.0.1
  2. Change target framework to 16299 for both target and min version.

No other code change, just pack and submit to Dev Center, it will get certification error. The WACK on local is good, it only fails on the Dev Center backend.

This app is not using System.IO.Ports anywhere. I do use RELEASE configuration, and .NET Native tool chain is included by default when I generate App package.

FAILED
Supported APIs
Error Found: The supported APIs test detected the following errors:
API ClearCommBreak in kernel32.dll is not supported for this application type. System.IO.Ports.dll calls this API.
API ClearCommError in kernel32.dll is not supported for this application type. System.IO.Ports.dll calls this API.
API EscapeCommFunction in kernel32.dll is not supported for this application type. System.IO.Ports.dll calls this API.
API GetCommModemStatus in kernel32.dll is not supported for this application type. System.IO.Ports.dll calls this API.

@danmoseley
Copy link
Member

@EdiWang I confirmed with the dev in Windows they are working on this. I'll post back when I get an update. Meantime if you can't wait (and can't use the old toolset, ie., set min version lower) let me know and I will find information on how to get a waiver.

@Myrmex
Copy link

Myrmex commented Oct 21, 2017

I am experiencing this issue too, and I can confirm that System.IO.Ports is not the culprit, as my app too does not use it anywhere. It just targets 6.0.1 for both min and target versions, and this is a requirement for being able to let it consume a .NetStandard 2.0 DLL (https://social.msdn.microsoft.com/Forums/windowsapps/en-US/2b391c7e-9495-474d-9471-ce6a35773906/supported-api-test-failure-only-during-submission-targeting-fcu?forum=wpsubmit). Thus for me this is a show-stopper, I'll wait for a fix.

@TonyHenrique
Copy link

I am also having this issue. I have not used Com ports in my App

I uploaded the entire Solution in a ZIP file, if you want to give a look:
https://drive.google.com/open?id=0B5d9oJc6UeFKLXJKNU5yNTg0VDg

https://developer.microsoft.com/en-us/dashboard/File/CertReport?appId=9PL2GTSS7WGP&certReportFileId=1152921504739439650

FAILED
Supported APIs
Error Found: The supported APIs test detected the following errors:
API ClearCommBreak in kernel32.dll is not supported for this application type. System.IO.Ports.dll calls this API.
API ClearCommError in kernel32.dll is not supported for this application type. System.IO.Ports.dll calls this API.
API EscapeCommFunction in kernel32.dll is not supported for this application type. System.IO.Ports.dll calls this API.
API GetCommModemStatus in kernel32.dll is not supported for this application type. System.IO.Ports.dll calls this API.
API GetCommProperties in kernel32.dll is not supported for this application type. System.IO.Ports.dll calls this API.
API GetCommState in kernel32.dll is not supported for this application type. System.IO.Ports.dll calls this API.
API PurgeComm in kernel32.dll is not supported for this application type. System.IO.Ports.dll calls this API.
API SetCommBreak in kernel32.dll is not supported for this application type. System.IO.Ports.dll calls this API.
API SetCommMask in kernel32.dll is not supported for this application type. System.IO.Ports.dll calls this API.
API SetCommState in kernel32.dll is not supported for this application type. System.IO.Ports.dll calls this API.
API SetCommTimeouts in kernel32.dll is not supported for this application type. System.IO.Ports.dll calls this API.
API SetupComm in kernel32.dll is not supported for this application type. System.IO.Ports.dll calls this API.
API WaitCommEvent in kernel32.dll is not supported for this application type. System.IO.Ports.dll calls this API.
API OpenCommPort in kernelbase.dll is not supported for this application type. System.IO.Ports.dll calls this API.
Impact if not fixed: Using an API that is not part of the Windows SDK for Windows Store apps violates the Windows Store certification requirements.

@TonyHenrique
Copy link

If I downgrade Microsoft.NETCore.UniversalWindowsPlatform to version 5.4.1 then this appears:

Warning NU1601 Dependency specified was Microsoft.NETCore.UniversalWindowsPlatform (>= 5.4.1) but ended up with Microsoft.NETCore.UniversalWindowsPlatform 6.0.1.

Then I executed
Update-Package

and
the XAML Designer fails and displays this message:
Some assembly references are missing.
Building to restore the NuGet cache might resolve this issue.

image

But if I click Run, the App runs

image

@billhenn
Copy link

billhenn commented Oct 24, 2017

I am also running into this same exact issue with the System.IO.Ports.dll, even though I do nothing with it. All I did was upgrade my UWP app to the latest and greatest as described by the original author. Hoping to hear of a resolution by MS soon. This also is a showstopper for me since I need to support .NET Standard 2.0.

@danmoseley
Copy link
Member

@BillHenning I hear you, I'm sure this is frustrating. A fix has been made and it is being pushed to servers. I'll post back as soon as I get an update tomorrow.

@billhenn
Copy link

Thanks for staying on top of it for us Dan!

@billhenn
Copy link

Hi @danmosemsft, any word on an update?

@EdiWang
Copy link

EdiWang commented Oct 26, 2017

@BillHenning @danmosemsft

I just tried on Dev Center, seems the problem is fixed now!

@danmoseley
Copy link
Member

@EdiWang, I was just about to post that I was told it should be fixed. Apologies for the glitch.

@EdiWang
Copy link

EdiWang commented Oct 31, 2017

Hi, @danmosemsft

I tried serveral other Apps, the problem is totally fixed! Thank you and the team for your hard work! I think we can close this issue.

@danmoseley
Copy link
Member

Thanks for the update @EdiWang I'm just sorry it broke in the first place. We're trying to figure out why it didn't show up in testing.

@msftgits msftgits transferred this issue from dotnet/corefx Jan 31, 2020
@msftgits msftgits added this to the 2.1.0 milestone Jan 31, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 20, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

7 participants