Skip to content

Parent double-dot path step in application manifest asmv1:assembly/file/@name throwing error #138

@Arithmeticus

Description

@Arithmeticus

In building from NuGet, the application manifest includes a number of asmv1:assembly/file/@name values that have a double dot, e.g.,
<file name="lib\fedora-x64\native\..\libgit2-106a5f2.so" size="1198160">

This throws an error, e.g. (via SxsTrace):
ERROR: Line 449: The value lib\alpine.3.9-x64\native\..\libgit2-106a5f2.so of attribute name in element urn:schemas-microsoft-com:asm.v1^file is invalid.

It seems that the root of this issue is

<ContentWithTargetPath Include="$(MSBuildThisFileDirectory)\..\..\runtimes\**\*" Exclude="$(MSBuildThisFileDirectory)\..\..\runtimes\win-*\**\*" TargetPath="lib\%(RecursiveDir)..\%(Filename)%(Extension)" CopyToOutputDirectory="PreserveNewest" />

There the double-dot parent path is hard coded to be imprinted and negate native.

I propose the removal of ..\ in attribute TargetPath or something similar. Keeping the native subdirectory shouldn't harm anything. At any rate, ISTM the syntactical constraints of asmv1:assembly/file/@name should be respected.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions