방금 csproj 형식으로 마이 그 레이션 한 클래스 라이브러리가 있는데,이 라이브러리는 SQLite.Core에 종속됩니다. 사용되는 기본 의존성 x64/SQLite.Interop.dll
및 x86/SQLite.Interoop.dll
을 가지고새 CSPROJ 클래스 라이브러리에 원시 DLL과 함께 NuGet 패키지를 포함하려면 어떻게해야합니까?
SQLite는 나의 패키지를 추가하는 모든 프로젝트의 출력 폴더에 복사하세요. 나는 NuGet 나의 라이브러리를 구축 할 수있는 새로운 csproj로 이주한 후
<Import Project="..\packages\System.Data.SQLite.Core.1.0.106\build\net451\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.106\build\net451\System.Data.SQLite.Core.targets')" />
이 자동으로 이전 csproj 파일에 다음 가져 오기를 포함하여 NuGet으로의 신세를 진 종속성으로 올바르게 SQLite.Core을 포함하는 패키지 그러나 내 NuGet 라이브러리를 사용하는 사람은 출력 폴더에 coppied 된 네이티브 종속성을 얻지 못합니다.
반면에 소비자가 처음으로 SQLite.Core을 추가하면 모든 패키지가 올바르게 추가됩니다.
마이그레이션 전에 어떻게 동작을 복원 할 수 있습니까? 아래는 마이그레이션 csproj :
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<PackageId>My.Library</PackageId>
<Description>Some Library.</Description>
</PropertyGroup>
<PropertyGroup>
<TargetFramework>net452</TargetFramework>
<AssemblyName>My Library</AssemblyName>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.Data.SQLite.Core" Version="1.0.106" />
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
</ItemGroup>
</Project>
우수 설명에 감사드립니다. – MaYaN