Dev Center Certification Fails for Microsoft.NETCore.UniversalWindowsPlatform 6.0.1
Petermarcu opened this issue · 19 comments
@EdiWang reported this here: microsoft/dotnet#528
Steps to Reproducte:
- Upgrade UWP's nuget package to Microsoft.NETCore.UniversalWindowsPlatform 6.0.1
- Target 16299 for both target and min version.
- 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
@danmosemsft
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.
If this is blocking you, we can work to get you a store waiver so you can submit despite this bogus error.
@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.
@EdiWang you said that submit to store worked earlier -- is that correct? what changed between then and when it failed?
@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.
@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
- Update to UWP 6.0.1
- 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.
@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.
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.
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
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.
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.
But if I click Run, the App runs
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.
@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.
Thanks for staying on top of it for us Dan!
Hi @danmosemsft, any word on an update?
@BillHenning @danmosemsft
I just tried on Dev Center, seems the problem is fixed now!
@EdiWang, I was just about to post that I was told it should be fixed. Apologies for the glitch.
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.
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.

