我有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] 删除。
我来说两句