【问题标题】:Why the ".deps.json" file on release folder and publish output folder size are difference为什么发布文件夹上的“.deps.json”文件和发布输出文件夹大小不同
【发布时间】:2018-09-29 18:23:17
【问题描述】:

我在项目上构建并检查发布文件夹大小为 “280KB” 但是当我尝试发布输出文件大小是 "296KB"

在 .net core 2.0 和 VS 2017 上测试

【问题讨论】:

    标签: c# entity-framework asp.net-core msbuild .net-core


    【解决方案1】:

    bin/[Configuration] 中的输出仅用于本地开发。此文件与 runtimeconfig.dev.json 一起指定构建输出的依赖关系闭包,并且从本地 NuGet 包缓存中解析引用。如果将构建输出复制到另一台机器/用户,它将不起作用。

    对于部署,所有需要的 DLL 都被复制到构建输出中,并使用稍微不同的输入生成 deps.json 文件来描述已发布应用程序的依赖关系闭包。

    此发布输出是由 Visual Studio 发布输出或使用生成的

    dotnet publish -c Release
    

    在控制台中。

    【讨论】:

    • 非常感谢,它在控制台上运行良好,但我如何在 CCNET 上使用这个脚本? stackoverflow.com/questions/49926331/…
    • Martin 这种方法是否只适合部署完整的应用程序?如果是库,推荐生成构建的方法是什么? (我的意思是在其他 .NET 应用程序中使用 DLL)。
    • 我建议参考项目或 NuGet 包。我不建议直接引用 dll 文件——它会让你在依赖解析方面遇到麻烦(以及在完整框架应用程序上绑定重定向)。但无论哪种方式,现在总是使用dotnet publish。有一些关于如何为动态插件系统共享 dll 的讨论(目前还不能很好地工作) - github.com/dotnet/designs/pull/47
    • 正如我所见,最好选择“参考项目”选项,因为它是一个巨大的库,“dotnet publish”会生成 20 多个文件和一些文件夹,我认为它是供参考和版本更新的烂摊子。感谢您的建议
    猜你喜欢
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 2018-07-25
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    • 2012-07-28
    • 2021-10-11
    相关资源
    最近更新 更多