locked
msbuild command line debug builds

    Question

  • Hi All,

    I'm attempting to build our product via Jenkins CI using msbuild.  I'm getting the following error when attempting to build the "Metro Debug" configuration.

    "c:\Projects\*****\xaml\XamlDirectxApp.vcxproj" (rebuild target) (1) ->
    (_ValidateAppxPackage target) ->
      Package.appxmanifest(2,2): error APPX1609: The package contains a Debug framework reference 'Name = Microsoft.VCLibs.110.Debug, MinVersion = 11.0.50522.1'. Ensure all framework references in the package are valid frameworks hosted by the Store. [c:\Projects\*****\xaml\XamlDirectxApp.vcxproj]

    We have several configurations, "Debug", "Release", "Metro Debug", "Metro Release"

    Command line msbuild of "Metro Release" works correctly.  The "Metro Debug" configuration builds correctly within VS, and can be packaged correctly using the tools in VS.

    I've attempted to rename the configuration to "Metro-debug" as per this thread http://social.msdn.microsoft.com/Forums/en-US/toolsforwinapps/thread/ba7bf7b1-ff9a-48c8-80ad-273d01346593/ but that didn't work.

    Does anyone have any ideas as to how I can get the debug configuration to be packaged correctly?

    Thanks

    Bob

    Friday, July 20, 2012 2:11 PM

All replies

  • Hi Bob,

    can you do a diagnostic build (/v:diag on the msbuild command line) so we can check on the property

    AllowDebugFrameworkReferencesInManifest

    Looking in the Microsoft.AppxPackage.Targets file, it is set to true in the following situations:

        <PropertyGroup Condition="'$(AppxPackageAllowDebugFrameworkReferencesInManifest)' == ''">

            <!-- If inside Visual Studio, if not packaging for store, allow debug framework references. -->
            <AppxPackageAllowDebugFrameworkReferencesInManifest Condition="'$(BuildingInsideVisualStudio)' == 'true'
                                                                       and '$(AppxPackageIsForStore)' != 'true'">true</AppxPackageAllowDebugFrameworkReferencesInManifest>

            <!-- On command line, if building with Debug SDK configuration, allow debug framework references. -->
            <AppxPackageAllowDebugFrameworkReferencesInManifest Condition="'$(BuildingInsideVisualStudio)' != 'true'
                                                                       and '$(TargetedSDKConfiguration)' == 'Debug'">true</AppxPackageAllowDebugFrameworkReferencesInManifest>

            <!-- All other cases, do not allow debug framework references. -->
            <AppxPackageAllowDebugFrameworkReferencesInManifest Condition="'$(AppxPackageAllowDebugFrameworkReferencesInManifest)' == ''">false</AppxPackageAllowDebugFrameworkReferencesInManifest>

        </PropertyGroup>

    thanks!

    mike

    Saturday, July 21, 2012 12:32 AM
    Moderator
  • Hi Mike,

    Thanks for the info.  AppxPackageAllowDebugFrameworkReferencesInManifest was false.  Presumably because of our configuration being "Metro Debug" not just "Debug".  Can those Targets files be modified to search the configuration for the substring "Debug", rather than having literal values?

    Where should I raise a bug?

    For now I'll just override this parameter on the command line.

    Thanks

    Bob

    Monday, July 23, 2012 7:15 PM
  • Hi Bob,

    When you create the "Metro debug" configuration, did you "clone" it from the Release configuration by any chance?

    Thanks.

    Monday, July 23, 2012 11:21 PM
  • Hi Candy,

    Sorry for the delay in responding - I had to talk to another engineer who was on vacation.  He has this to say.

    "It should have beem cloned from the regular debug configuration, but I can always have mistakenly cloned from the release version. We can try creating it anew from the regular debug if it may solve the problem."

    At the moment we're forcing the AppxPackageAllowDebugFrameworkReferencesInManifest to what we need, and that's getting us around the problem.

    Thanks

    Bob

    Monday, July 30, 2012 12:45 PM
  • Thanks for the follow up.
    Monday, July 30, 2012 5:36 PM