我用本地lib创建nuget包。对我来说很难,但我可以做到:)
因此,我的nuget包的结构:
build->
--->NativeLib.props
runtimes->
-->win
-->native
-->NativeLib.dll
NativeLib.props:
<Project DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Content Include="$(MSBuildThisFileDirectory)\..\runtimes\win\native\NativeLib.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>NativeLib.dll</Link>
</Content>
</ItemGroup>
</Project>
所以,它有效。但是,当我发布时-它会发布到根输出目录中,并创建运行时目录并将此文件复制到其中。
如何禁用将本机lib复制到运行时目录?或者,反之亦然。
和类似的问题: 我想打包此本地库的Unix版本,所以我将创建目录: unix-> native-> NativeLib.so 。
但是如何使其条件发布到Win平台(从win目录复制),以及何时发布到Unix平台(从unix目录复制)呢?
我应该使用ItemGroup Condition
吗?