如何为.net core 3.1和.netstandard2.0进行装配?

问题描述 投票:0回答:1

谁能告诉我正确的方法是什么?这是我的项目文件

  <PropertyGroup> 
    <TargetFramework>netstandard2.1</TargetFramework>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
  </ItemGroup>

这是nuspec文件的一部分

   <dependencies>
      <group targetFramework=".NETStandard2.1">
        <dependency id="Microsoft.CSharp" version="4.7.0" />
      </group>
      <group targetFramework=".NetCore,Version=3.1">
        <dependency id="Microsoft.CSharp" version="4.7.0" />
      </group>
    </dependencies>
    <packageTypes>
      <packageType name="Dependency" />
    </packageTypes>  
  </metadata>
  <files>
    <file src="bin\$configuration$\**\*.*" exclude="**\*.pdb" target=".\lib"/>
  </files>

[使用Cake构建装配时,我们指定Win-x64作为运行时。这是正确的吗?

生成的nupkg中的文件/文件夹结构是

\lib
   \netcoreapp3.1
      \any
      \win
      \win-x64
   \netstandard2.0
      \win10-x64

工具:VS2019,NuGet v5.4.0

然后,当我尝试在.net core 3.1项目中安装它时,我感到恐惧:

Error   NU1202  Package JDM.Common.Json 0.2.2 is not compatible with netcoreapp3.1 (.NETCoreApp,Version=v3.1). Package JDM.Common.Json 0.2.2 does not support any target frameworks. ... 

我必须承认,无法完成这项工作使我发疯。

TIA

.net-core assemblies .net-standard-2.0
1个回答
0
投票

无需为此创建nuspec文件。您可以使用复数TargetFrameworks并指定多个目标框架:

© www.soinside.com 2019 - 2024. All rights reserved.