很多库都会在 nuget.org 上发布预览版本,不过一般来说这个预览版本也是大多可用的。然而想要体验日构建版本,这个就没有了,毕竟要照顾绝大多数开发者嘛……
本文介绍如何使用 MyGet 这个激进的 NuGet 源,介绍如何使用框架级别的库的预览版本如 .NET Standard 的预览版本。
加入 MyGet 这个 NuGet 源
添加 NuGet 源的方法在我和林德熙的博客中都有说明:
简单点,就是在 Visual Studio 中打开 工具
-> 选项
-> NuGet 包管理器
-> 包源
:
然后把 MyGet 的源添加进去:
如果你想添加其他的 NuGet 源,可以参见我的另一篇博客:我收集的各种公有 NuGet 源 - 吕毅。
使用 .NET Standard 的预览版本
因为我们在使用 .NET Standard 库的时候,是直接作为目标框架来选择的,就像下面的项目文件内容一样:
1
2
3
4
5
6
7
<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 包:
1
PM> Install-Package NETStandard.Library -Version 2.1.0-preview1-27119-01
或者直接去 csproj 中添加 PackageReference
。
1
2
3
4
5
6
7
8
9
10
11
<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://blog.walterlv.com/post/develop-with-very-early-framework-version-using-myget.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 ([email protected]) 。