【发布时间】:2020-02-05 20:02:28
【问题描述】:
我的.csproj 文件中有这段代码 sn-p,用于在构建后强制将特定版本的System.Runtime.CompilerServices.Unsafe.dll 复制到输出文件夹中:
<Target Name="ForcingUnsafeSpecificVersion" AfterTargets="AfterBuild">
<Copy SourceFiles="Path\System.Runtime.CompilerServices.Unsafe.dll" DestinationFolder="$(OutDir)" />
</Target>
但它不起作用。它不会覆盖输出目录的版本,或者可能有其他东西覆盖它。
我也试过了:
<ItemGroup>
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="4.6.0-preview.18571.3">
<NoWarn>NU1605</NoWarn>
</PackageReference>
</ItemGroup>
仍然没有成功。我也试过了:
<ItemGroup>
<None Include="Path\System.Runtime.CompilerServices.Unsafe.dll">
<Link>System.Runtime.CompilerServices.Unsafe.dll</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
没用。请注意,这条线有效
<ItemGroup>
<None Include="Path\System.Runtime.CompilerServices.Unsafe.dll">
<Link>System.Runtime.CompilerServices.Unsafe2.dll</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
如果我在输出文件的名称末尾添加数字 2,那么它可以工作。但似乎所有这些构建配置都失败并被其他东西覆盖。
如何强制将此文件复制到输出目录中?
【问题讨论】:
-
嗨,这个问题有什么更新吗?
标签: visual-studio msbuild nuget csproj