locked
AppxManifest.xml(36,27): error APPX1404: File content does not conform to specified schema RRS feed

  • Question

  • Any one else seeing this error in a JS_blank project after adding a reference to a C++ WinRT_ComponentDLL?

    Both projects are empty. I'm using VS11 beta version with Windows 8 WDK. Not sure if that is causing this issue.

    The detail error is below:

    C:\temp\JS_test\bin\x86\Debug\AppxManifest.xml(36,27): error APPX1404: File content does not conform to specified schema. The 'ActivatableClassId' attribute is invalid - The value 'WinRT_Dll1.WinRTComponent' is invalid according to its datatype 'http://schemas.microsoft.com/appx/2010/manifest:ST_ActivatableClassId' - The Pattern constraint failed.

    The build config:

    • Project: JS_test, Configuration: Debug x86
    • Project: WinRT_Dll1, Configuration: Debug Win32

    It looks good to me.

    Both projects are empty and with default settings. Very strange to me. Appreciated for any help.

    Thanks,

    Jennifer

    Wednesday, April 11, 2012 5:28 AM

Answers

  • Thanks for reporting this!  I will verify these steps and enter a bug.

    You can work around the issue by starting with a Javascript app instead of a blank Solution.

    -Jeff


    Jeff Sanders (MSFT)

    Thursday, April 12, 2012 3:10 PM
    Moderator
  • I also had this issue with an C++ WinRT component that was used by a C# project.

    It seems the problem was that the namespace of the WinRT component contained a '_' (ProjectName_Renderer::RenderEngine).
    Note: The '_' was autogenerated by VisualStudio because the ProjectName was ProjectName.Renderer.

    After converting the namespace to ProjectNameRenderer::RendereEngine everything worked fine again.
    Note: The Project name and the namespace name have to match otherwise you will get type not found exceptions when consuming the WinRT component. So i removed the '_' in the namespace and the '.' in the project name.

    It seems jennj has the same problem because it looks like the namespace is WinRT_Dll1::SomeComponent.




    • Edited by Paiden36 Sunday, April 15, 2012 4:19 PM
    • Marked as answer by jennj Monday, April 16, 2012 6:06 PM
    Sunday, April 15, 2012 3:25 PM

All replies

  • Try this:

    I did this and it was fine.

    Created a blank Javascript application and built it.

    Right clicked on the solution added a Visual C++ WinRT Component DLL and built the solution.

    Added a Referentce to the newly created C++ WinRT component DLL by right clicking on the javascript prject References folder and chose 'Add Reference' then solution and selected the newly built WinRT component.

    Built and it all built fine.


    Jeff Sanders (MSFT)

    Wednesday, April 11, 2012 1:28 PM
    Moderator
  • Thanks for your respond.

    Just got a new Win8 setup and will give it a try and let you know.

    Usually in such case, what is causing this error?

    Jennifer

    Wednesday, April 11, 2012 3:03 PM
  • Ok.

    I found more detail now. It's a bug in the vs11 beta. Here is the steps to duplicate:

    1. create an empty solution
    2. add a JavaScript project and set it as a setup project
    3. add a C++ WinRT Component DLL
    4. In JavaScript project add a reference to the WinRT DLL
    5. rebuild the JavaScript

    Jennifer

    Thursday, April 12, 2012 2:48 PM
  • Thanks for reporting this!  I will verify these steps and enter a bug.

    You can work around the issue by starting with a Javascript app instead of a blank Solution.

    -Jeff


    Jeff Sanders (MSFT)

    Thursday, April 12, 2012 3:10 PM
    Moderator
  • Jennifer, your steps do not reproduce the problem in Visual Studio with the latest updates.

    I tried this with VS 11 Ultimate and applied the updates.

    Then I followed your steps exactly.

    There is no problem on my system.  Please try applying updates and if the steps are different, please let me know.

    -Jeff


    Jeff Sanders (MSFT)


    Thursday, April 12, 2012 3:46 PM
    Moderator
  • I also had this issue with an C++ WinRT component that was used by a C# project.

    It seems the problem was that the namespace of the WinRT component contained a '_' (ProjectName_Renderer::RenderEngine).
    Note: The '_' was autogenerated by VisualStudio because the ProjectName was ProjectName.Renderer.

    After converting the namespace to ProjectNameRenderer::RendereEngine everything worked fine again.
    Note: The Project name and the namespace name have to match otherwise you will get type not found exceptions when consuming the WinRT component. So i removed the '_' in the namespace and the '.' in the project name.

    It seems jennj has the same problem because it looks like the namespace is WinRT_Dll1::SomeComponent.




    • Edited by Paiden36 Sunday, April 15, 2012 4:19 PM
    • Marked as answer by jennj Monday, April 16, 2012 6:06 PM
    Sunday, April 15, 2012 3:25 PM
  • Thank you so much Paiden36 !!!!!!!!!!!!!!!!

    Yes, it is indeed the rootcause of the problem. After creating a new WinRT DLL project without the "_" in the project name, it worked fine.

    Please fix this bug. "_" is so commonly used. 

    Another bug is this one: http://code.msdn.microsoft.com/windowsapps/DLL-server-authoring-sample-48438758/view/Discussions The directory name also causes compile-time error.

    Jennifer

    Monday, April 16, 2012 6:10 PM