【发布时间】:2021-07-07 14:36:37
【问题描述】:
我在csproj 中声明了以下内容。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Content Include="TextFile1.txt" Link="Files\TextFile1.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Files\TextFile2.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
</Project>
如您所见,这两个文件都在子目录Files 中,并且根文件夹中没有文本文件,因为根文件夹中的文件没有标记为<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>,但链接是。
现在我想打包这个应用程序,它不尊重我的文件链接并将TextFile1.txt 转储到根文件夹中。
创建的*.nuspec 文件如下所示
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata>
<id>ConsoleApp44</id>
<version>1.0.0</version>
<authors>ConsoleApp44</authors>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Package Description</description>
<dependencies>
<group targetFramework="net5.0" />
</dependencies>
<contentFiles>
<files include="any/net5.0/TextFile1.txt" buildAction="Content" />
<files include="any/net5.0/Files/TextFile2.txt" buildAction="Content" />
</contentFiles>
</metadata>
</package>
【问题讨论】:
标签: c# visual-studio nuget csproj