Skip to content

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

Open
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions