New .csproj format - How to specify entire directory as “linked file” to a subdirectory?

后端 未结 2 1591
青春惊慌失措
青春惊慌失措 2020-12-10 02:35

With the new .csproj format (as well as the old), it is possible to add files as linked outside of the project folder:

 

        
相关标签:
2条回答
  • 2020-12-10 02:42

    I got this working for me (linking all svg-files in an external dir to a solution-subfolder) with a hint from this site. Only the %(Parent.Filename) didn't work for me (got a CS1508), so I replaced with %(Filename)%(Extension).

    <ItemGroup>
        <Parent Include="C:\Path\To\My\SVG\Dir\*.svg" />
        <EmbeddedResource Include="@(Parent)">
            <Link>Resources\%(Filename)%(Extension)</Link>
        </EmbeddedResource>
    </ItemGroup>
    
    0 讨论(0)
  • 2020-12-10 03:00

    While this was previously possible using the %(RecursiveDir) metadata when using glob expansion ( Link="Resources\%(RecursiveDir)%(Filename)%(Extension)"), the 2.0.0 version of the .NET Core SDK allows the use of a new LinkBase metadata:

    <EmbeddedResource Include="..\..\..\Demo\**\*.cs" LinkBase="Resources" />
    

    Note that you need to install the 2.0.0 in addition to the recently released VS 2017 15.3 (and ensure no global.json selects a lower version).

    It was introduced with this pull request which is probably the best documentation at the moment.

    0 讨论(0)
提交回复
热议问题