[英]Nuget Library - Copy DLL of Library to current project's output directory
[英]Including an unmanaged native library files to nuget output directory
未管理的共享對象(.so 文件)不會復制到輸出目錄:
我有一個 .netstandard 2 項目,它包裝了一個 C++ 庫(讓我們稱這個項目為 wrap.csproj)。 該項目依賴於共享對象 (libgdal.so)。
我想將此項目用作 nuget,因此,將引用我的 nuget 的項目應該在 build/publish 文件夾中包含 wrap.dll 和 libgdal.so。
我將此項目打包為 nuget。 但是引用這個 nuget 的項目(dotnet 核心)沒有得到 libgdal.so 文件,只是 build/published 文件夾中的 wrap.dll,因此我收到運行時錯誤。
我將此屬性添加到 nuget csproj:
<ItemGroup>
<None Include="libgdal.so">
<Pack>true</Pack>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
編輯:從@zivkan 的幫助中稍微看一下后,我成功了
我需要做的就是添加這樣的包路徑:
<ItemGroup>
<None Include="libgdal.so">
<Pack>true</Pack>
<PackagePath>runtimes/linux-x64/native</packagePath>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
我需要做的就是像這樣添加 PackagePath:
<ItemGroup>
<None Include="libgdal.so">
<Pack>true</Pack>
<PackagePath>runtimes/linux-x64/native</PackagePath>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
(我的運行時間是 linux-x64)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.