很多库都会在 nuget.org 上发布预览版本,不过一般来说这个预览版本也是大多可用的。然而想要体验日构建版本,这个就没有了,毕竟要照顾绝大多数开发者嘛……
本文介绍如何使用 MyGet 这个激进的 NuGet 源,介绍如何使用框架级别的库的预览版本如 .NET Standard 的预览版本。
加入 MyGet 这个 NuGet 源
添加 NuGet 源的方法在我和林德熙的博客中都有说明:
简单点,就是在 Visual Studio 中打开 工具 -> 选项 -> NuGet 包管理器 -> 包源:

然后把 MyGet 的源添加进去:
如果你想添加其他的 NuGet 源,可以参见我的另一篇博客:我收集的各种公有 NuGet 源 - 吕毅。
使用 .NET Standard 的预览版本
因为我们在使用 .NET Standard 库的时候,是直接作为目标框架来选择的,就像下面的项目文件内容一样:
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>
  
</Project>
然而,如果你直接把 TargetFramework 中的值改为预览版本,是无法使用的。因为 TargetFramework 的匹配是按照字符串来匹配的,并不会解析成库和版本号。关于这一点可以如何得知的,可以参考我的另一篇博客(中英双语):
- 解读 Microsoft.NET.Sdk 的源码,你能定制各种奇怪而富有创意的编译过程 - 吕毅
- Reading the Source Code of Microsoft.NET.Sdk, Writing the Creative Extension of Compiling - walterlv
然而实际上的使用方法很简单,就是直接用正常的方法安装对应的 NuGet 包:
PM> Install-Package NETStandard.Library -Version 2.1.0-preview1-27119-01
或者直接去 csproj 中添加 PackageReference。
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="NETStandard.Library" Version="2.1.0-preview1-27119-01" />
  </ItemGroup>
  
</Project>
至于版本号如何确定,请直接前往 MyGet 网站查看:dotnet-core - NETStandard.Library - MyGet。
这个时候,.NET Standard 的预览版标准库会使用以替换 .NET Standard 2.0 的正式版本库。
本文会经常更新,请阅读原文: https://dotnet-campus.github.io//post/develop-with-very-early-framework-version-using-myget.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
    
         本作品采用
    知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议
    进行许可。欢迎转载、使用、重新发布,但务必保留文章署名
    dotnet 职业技术学院
    (包含链接:
    https://dotnet-campus.github.io/
    ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请
    与我联系
    。
    
    本作品采用
    知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议
    进行许可。欢迎转载、使用、重新发布,但务必保留文章署名
    dotnet 职业技术学院
    (包含链接:
    https://dotnet-campus.github.io/
    ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请
    与我联系
    。
