Thursday, August 28, 2014

App manifest is missing required element '/Package/Extensions/Extension/InProcessServer/ActivatableClass'

Like most of programmers, I like to keep my tools updated with the latest updates and SPs. when I started doing Windows Phone app development, I updated my Visual Studio 2013 to Update 3.

To my surprise, last night when I try to build my Windows store app solution, I got this build error with my unit test project.

However,  when I go to my other box without Update 3 installed to build the same solution, it builds without error.

I searched high and low with no luck.  After a few hours research, try and error. I finally figured it out.  in case you run into the same problem, I post this article on my blog.

This is a sample of  Package/Extensions/Extension/InProcessServer/ActivatableClass

<Extension Category="windows.activatableClass.inProcessServer">
      <InProcessServer>
        <Path>Microsoft.Samples.DllServerAuthoring.dll</Path>
        <ActivatableClass ActivatableClassId="Microsoft.Samples.DllServerAuthoring.Toaster" ThreadingModel="both" />
      </InProcessServer>
</Extension>
It is meant to tell how in process service is started and what is the starting point.

Yes, it is related to Update 3 for sure. as a matter of fact, it builds without error on Visual Studio 2013 without Update3. but it is also related to how is the project referenced.

It turned out that that unintentionally, I added reference in the test project to the  windows store app itself.  As it is not a class library project, Visual Studio took it as an In Process Service, so it ask how the service is started.

when I removed the reference to the store project, the solution builds without error.


Yes, Update 3 made Visual Studio 2013 smarter. one thing for sure, it supports In Process Service. evidentially, it does check if you added service components into your project as reference and asking you to specific starting point if you do.

Good Job, Update 3 ! however,  it would save a few hours of my time if some kind of documentation would be made available.

No comments:

Post a Comment