繁体   English   中英

.NET标准程序集:创建可以由.NET Core和本地Nuget.Server托管的完整.NET使用的nuget程序包。

[英].NET standard assemblies: create nuget packages that can be used by .NET Core and full .NET hosted by local Nuget.Server

我有一个针对netstandard 2.0的程序集,以便可以在.NET Core和整个.NET Standard项目中使用它。 我正在使用dotnet pack命令创建一个nuget程序包,然后将该程序包推入本地nuget主机服务器(按照此处的说明进行创建)。

现在,由于netstandard基本程序集可以从.NET 4.7.1项目中使用,所以我认为当我从VS nuget程序包管理器UI(和项目)列出本地nuget程序包时,我应该能够看到针对netstandard的nuget程序包。针对.NET 4.7.1构建)。 不幸的是,我设法使其显示出来的唯一方法是更改​​nuget.server设置,以使其不按框架版本过滤返回的结果。

这是预期的行为吗? 我是否应该能够向具有针对.net标准的程序集的nuget包添加引用?

路易斯

如果查看正式的.NET标准文档,您会发现.Net framework 4.6.1及更高版本支持.Net standard 2.0,但您需要安装相关的.Net core 2.0 SDK才能运行。 检查文档中的表。 您可能在想要使用包装的地方没有它。

另一个选择是,您还可以在项目中添加经典的.NET Framework和其他平台。 然后,当您构建NuGet程序包时,它还将包含用于经典.NET框架的另一个dll,因此它将始终有效。 您可以通过找到以下元素<TargetFramework>netcoreapp2.0</TargetFramework>在项目中添加另一个目标平台,然后可以将其更改为包含例如<TargetFrameworks>netcoreapp2.0;net461</TargetFrameworks>这样的<TargetFrameworks>netcoreapp2.0;net461</TargetFrameworks> .NET 4.6.1。 有关哪些值对目标框架有效的更多详细信息,请参见文档。 目标框架

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM