.NET Core库有几种形式。最常见的是打包时由lib/classlibname.dll
组成的可移植形式。这是类库的最常见形式和默认形式。
然后是包含几个文件的表单:lib/$rid/classlibname.dll
和ref/classlibname.dll
。当该dll的可移植形式不存在时,将使用此形式。这些工作的链接方式是针对ref
中的副本,而实际执行是针对lib/$rid
中的正确副本。
所以我的问题是:如何获取构建dotnet的参考组件,如何获取dotnet打包的组件?
几乎觉得ref
应该摆脱,但不是。
我目前已经设置了项目文件,以使dotnet的构建无懈可击,从而可以构建参考程序集,但我也不确定那是正确的。无论如何,这很容易更改。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard1.6</TargetFramework>
</PropertyGroup>
<PropertyGroup>
<DefineConstants Condition="'$(RuntimeIdentifier)'=='win'">$(DefineConstants);OS_WIN</DefineConstants>
<DefineConstants Condition="'$(RuntimeIdentifier)'=='linux-x64'">$(DefineConstants);OS_LINUXX64;OSTYPE_UNIX</DefineConstants>
<DefineConstants Condition="'$(RuntimeIdentifier)'=='osx-x64'">$(DefineConstants);OS_MACOSX64;OSTYPE_UNIX</DefineConstants>
</PropertyGroup>
</Project>