加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 使用NET Standard 1.X的Nuget包

发布时间:2020-12-15 20:59:59 所属栏目:百科 来源:网络整理
导读:作为一个概念验证,我想创建一个由单个程序集组成的Nuget包.该程序集使用全新的.NET Standard 1.X配置文件进行编译.我的想法是让它不仅可以通过.NET Core,而且可以从.NET 4.6.1(完整框架),甚至旧版本中使用,但我不知道如何使用. 目前,我创建了一个如下所示的n
作为一个概念验证,我想创建一个由单个程序集组成的Nuget包.该程序集使用全新的.NET Standard 1.X配置文件进行编译.我的想法是让它不仅可以通过.NET Core,而且可以从.NET 4.6.1(完整框架),甚至旧版本中使用,但我不知道如何使用.

目前,我创建了一个如下所示的nuspec文件:

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
  <metadata>

    <id>MyPackage</id>
    <description>MyPackage</description>

    <version>X.X.X.X</version>
    <authors>JMN</authors>
    <owners>JMN</owners>
    <licenseUrl>http://opensource.org/licenses/Apache-2.0</licenseUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>

  </metadata>

  <files>
    <file src="binReleaseMyLib.dll" target="libnetstandard1.XMyLib.dll" />
  </files>

</package>

问题是,当将包添加到面向.NET Framework 4.6.1的项目时,它会显示此消息(输出窗口)

Could not install package ‘MyLib X.X.X.X’. You are trying to install
this package into a project that targets
‘.NETFramework,Version=v4.6.1’,but the package does not contain any
assembly references or content files that are compatible with that
framework. For more information,contact the package author.

我该怎么做才能使我的nuget包可用于两个框架(至少.NET Standard 1.X和.NET Framework 4.6.1).

解决方法

你根本不需要你自己的nuspec.

只需创建一个RC 2 project.json,然后使用dotnet pack生成一个NuGet包.

http://dotnet.github.io/docs/core-concepts/libraries/libraries-with-cli.html

您不能指望旧版本的.NET Framework支持此类软件包,因为.NET Standard 1.5版本太高.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读