我有托管库依赖于本机库的 NuGet 包。我想将本机依赖项复制到 \\UnmanagedLibraries\Windows\x86\ 文件夹,并且我制作了以下文件,该文件被复制到构建文件夹:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="CopyNativeReferences">
<Message Text="$(MSBuildThisFileDirectory) => $(OutDir)\UnmanagedLibraries\Windows\x86\"></Message>
<Copy SourceFiles="$(MSBuildThisFileDirectory)..\native\UnmanagedLibraries\Windows\x86\SIMDArrayInstructions.dll"
DestinationFolder="$(OutDir)\UnmanagedLibraries\Windows\x86\"
SkipUnchangedFiles="true" />
</Target>
<PropertyGroup>
<AfterBuildDependsOn>
CopyNativeReferences;
</AfterBuildDependsOn>
</PropertyGroup>
<Target Name="AfterBuild" DependsOnTargets="$(AfterBuildDependsOn)"/>
</Project>
它对一个包运行良好,但我有多个 NuGet 包需要复制它们的本机引用。安装第二个包后,不会复制第一个包的本机引用。似乎“AfterBuild”被新包覆盖了。
我还更改了目标名称和 AfterBuildDependsOn 以确保其他包不共享相同的目标变量名称,但这没有帮助。
我该如何解决这个问题?