如何复制NuGet软件包的本机库文件?

达朱里奇

我有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,以确保其他程序包不共享相同的目标变量名称,但无济于事。

我该如何解决?

达朱里奇

定义的属性组应如下所示:

PropertyGroup>
 <AfterBuildDependsOn>
    $(AfterBuildDependsOn);
    CopyNativeReferences;
 </AfterBuildDependsOn>
</PropertyGroup>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章