问题:
如何在VisualStudio2017
具有 3 个平台的解决方案中管理 nuget 包:
- .Net 标准 1.3
- .Net 框架 4.6
- .Net 核心 1.0
?
我喜欢这种PackageReference
方法,但我不知道如何使用它。他们谈论:
<ItemGroup>
<!-- ... -->
<PackageReference Include="Contoso.Utility.UsefulStuff" Version="3.6.0" />
<!-- ... -->
</ItemGroup>
- 这是否意味着通常我需要为每个框架/标准/核心至少 3 个PackageReferences ?
- 当我们陷入困境时如何管理版本
.Net Framework 4.6
? - 由于nuget版本兼容性问题,当我无法运行
.net core
引用 lib 的控制台应用程序时,我也遇到了这个问题。.net standard
另外,我想提一下,我遇到了几篇文章,说.csproj
s 回来了,不需要.xproj
, project.json
。就个人而言,我喜欢这个想法来处理.csproj
s 像以前一样。
语境:
我不是以英语为母语的人,而且我对非平凡的 nuget 用法和.Net
Core
/Standard
开发非常陌生。
我正准备将应用程序移植.Net Framework
到.Net
Framework
++ 。这现在只是一个WPF应用程序。但在未来它打算保持相同的WPF应用程序,但也有一个新的分支,从现有的逻辑提出。我不确切知道可能的新分支的计划是什么。最有可能的计划是创建一个网站。我可以肯定的是,任务是保持逻辑运行(使用WPF UI)并将其实现为.Standard
Core
.Net Core
.Net Core
ASP.Net Core
.Net Framework
.Net Core
我决定使用Framework
++的Standard
组合Core
作为解决方案,因为它很简单。我的意思是这个概念很容易理解:两个分支(FWK,Core )使用的基类( standard)。代码中不需要多目标或指令(条件编译)。暗示应该通过复制粘贴和修改从头开始创建新的解决方案。仍然不能 100% 确定这个决定的合理性。
但是问题意味着要采取这种方法:Framework
++ 。Standard
Core
我希望这个问题是合理的;我的意思是,在这种情况下有效管理 nuget 包是成功跨平台项目的良好开端。谢谢!