簡體   English   中英

可以在使用舊版本 c# 的項目中使用使用較新版本 c# 構建的 NuGet 包嗎?

[英]Can a NuGet package built with a newer version of c# be used in a project using an older version of c#?

如果我構建和發布語言版本為 9 的 NuGet 包,我是否可以在使用較低語言版本(例如 c# 7)的項目中安裝和引用 NuGet 包?

NuGet 包 .csproj:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <LangVersion>9</LangVersion>
  </PropertyGroup>
</Project>

使用庫 .csproj:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <LangVersion>7.3</LangVersion>
  </PropertyGroup>
</Project>

這個有可能。

因此,在@ADyson提出建議后,我嘗試在本地自己做這件事。

我花了大約 30 分鍾來構建一個.netstandard2.0項目,並使用Microsoft.Bcl.AsyncInterfaces 5.0.0 NuGet 包引用IAsyncEnumerable ,因為它本身並沒有包含在.netstardard2.0

本地包裝了的NuGet后,我把它變成一個控制台應用程序使用.netcore2.1 ,稱那是用一種方法IAsyncEnumerable 有效!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM