gpt4 book ai didi

c# - 如何复制 NuGet 包 native 库文件?

转载 作者:行者123 更新时间:2023-11-30 22:04:48 25 4
gpt4 key购买 nike

我有 NuGet 包,它的托管库依赖于 native 库。我想将 native 依赖项复制到\\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 包需要复制它们的 native 引用。安装第二个包后,第一个包的本地引用未被复制。似乎“AfterBuild”被新包覆盖了。

我还更改了目标名称和 AfterBuildDependsOn 以确保其他包不会共享相同的目标变量名称,但这没有帮助。

我该如何解决这个问题?

最佳答案

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

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

关于c# - 如何复制 NuGet 包 native 库文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24876475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com