c# - 使用本地 .NET Core 系统库而不是将它们添加到每个包中

标签 c# asp.net-core

我们的客户提示我们为他们制作的 .NET Core 应用程序中的 .dll 文件数量。即使在我们解释这就是 .NET Core 的工作方式之后,他们的不满依然存在。

现在我完全理解了他们的立场,当我第一次创建包时我也惊掉了下巴:

enter image description here

请注意滚动条有多小。大多数库名称以 Microsoft.System. 开头 - 那些不是我使用和手动安装的库。

所以问题是:我能做些什么来让我们的客户满意吗? System.* 库不是已经作为 .NET Core 运行时的一部分安装在他们的机器上了吗?

目前我们的目标是 .NET Core 1.0。

最佳答案

您可以创建 two types of deployments for .NET Core applications :

  • 依赖于框架的部署
  • 独立部署

看来您需要依赖于框架的部署 (FDD)。

可移植 (FDD) 应用程序类似于传统的 .NET Framework 应用程序。在这种情况下,某个版本的.NET Core Framework(也称为共享框架,.NET Core Runtime,redist)应该在目标计算机上,并且当主机启动时,进程将从中加载Core CLR,Core FX框架文件夹。

针对不同版本的 .NET Core 平台的相同可移植应用程序的工件 enter image description here

可以看到什么Directory structure of published ASP.NET Core apps应该是

要运行可移植应用程序,必须在目标计算机上至少安装一个 .NET Core 运行时(共享框架)。框架文件存储在 C:\Program Files\dotnet\shared 文件夹中。

关于c# - 使用本地 .NET Core 系统库而不是将它们添加到每个包中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49364271/

相关文章:

c# - Entity Framework ——引入外键约束可能会造成循环

C# 改变常量

asp.net - 如何在powershell中执行具有[[FromForm]]参数的API PUT方法

c# - 你能理解这段 C 指针代码吗?

将对象读取为指定类型的 C# 扩展方法

c# - SQL 服务器 : parameter not evaluating in AND part of clause

c# - 依赖于 IRazorViewEngine 真实实例的单元测试

asp.net-core - ASP.Net 核心 Web API Controller - 200 状态代码但没有响应

elasticsearch - 容器化WebApp的日志不会通过Serilog.Sinks.Elasticsearch发送到Elasticsearch

c# - ASP.NET 5 依赖错误