locked
Non-Metro .NET Profile dll behavior. RRS feed

  • Question

  • Scenario:

    I want to create a LOB Metro style app ("Windows Metro Style application" project) and I add as a reference some third party dll client dlls(built on .NET 4.5). Here's what happens:

    1. The third-party dll references the "System.Web.Services" dll. This dll exists in the .NET 4.5 full framework, but not in the .NET Metro profile. Trying to add it to the project gives this error:

    "Cannot find type System.SerializableAttribute in module mscorlib.dll."

    2. If however, I create a "Class library" project(scoped to .NET Core like the parent project) and reference the same third-party dll, and then add the reference to this class library in the main "Windows Metro Style application" project, everything is fine, project compiles and runs ok.


    Can someone comment on the observed behavior and what is the the final recommended approach? That is, do I risk not having the app approved when submitted to the Windows8 marketplace because it contains references to dll's outside of the scope of the Windows Metro App .NET profile (error at #1 is valid)?


    Thanks,

    Pete

    Sunday, January 8, 2012 4:01 AM

Answers

  • Metro style apps can only use components which use the Metro profile. Using unavailable components will fail certification.  You can run the Windows App Cert Kit on your app to confirm.

    --Rob

    Sunday, January 8, 2012 8:01 PM
    Moderator