【问题标题】:Asp.net core publish creates all dll files in publish folder in visual studio 2017Asp.net core publish 在 Visual Studio 2017 的发布文件夹中创建所有 dll 文件
【发布时间】:2018-07-02 12:48:16
【问题描述】:

将 Asp.net core mvc 应用程序发布到文件夹时,它会在输出文件夹中创建所有 .dll 文件

我正在使用

Visual Studio 2017 15.5.4

项目框架.Net 4.7.1

如何避免创建所有不需要的.net框架相关的.dll?

提前致谢

【问题讨论】:

  • 有没有办法让那些 dll:s 输出到像 bin 这样的文件夹?

标签: .net asp.net-core visual-studio-2017 asp.net-core-mvc


【解决方案1】:

dotnet core 中的publish command 编译应用程序并将所有依赖项复制到输出文件夹。由于 dotnet core 非常轻量级(就核心框架而言),大多数(如果不是全部)依赖项实际上是 NuGet 包。由于不能假定这些文件存在于已发布应用程序所在的机器上,因此它们也会被复制。

如果publish 命令已将文件复制到输出目录,则应用程序需要它们才能运行。您可以添加--no-dependencies--no-restore 等选项,但生成的已发布文件可能无法运行。

如果您希望减小已发布应用程序的大小,.NET IL Linker 项目可能会有所帮助。

【讨论】:

  • 试过 --no-depn 和 --no-restore 仍然复制所有文件。使用“dotnet publish -c release -f net471 --no-dependencies -r win81-x64”。不知道为什么。即使我有 Visual Studio 2017,我是否有使用 .net 核心构建引擎从命令行发布?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-12
  • 2020-02-21
  • 1970-01-01
  • 2019-11-14
  • 1970-01-01
  • 1970-01-01
  • 2017-12-24
相关资源
最近更新 更多