【问题标题】:Exclude folders on publish project using "dnu publish"使用“dnu publish”在发布项目中排除文件夹
【发布时间】:2015-08-04 22:13:15
【问题描述】:

如何使用“dnu publish”命令从 wwwroot 中排除文件夹。

示例:在我的项目中存在许多文件夹

我需要排除 wwwroot/libwwwroot/source

我正在使用 clr 1.0.0-beta7-12302

【问题讨论】:

    标签: asp.net visual-studio-2015 asp.net-core


    【解决方案1】:

    wwwroot 文件夹的处理方式不同。它被称为 webroot。在发布 (see here) 期间,此文件夹中的内容不会经过 globbing。建议将源代码和输出放在webroot中。

    您是否有必须在此文件夹中存储源代码和二进制文件的情况?

    【讨论】:

    • 嗨特洛伊,我想说乔的the answer 是一个完美的场景
    • 我同意 Andrew 的观点,在 wwwroot/lib 下面有很多我们不希望发布到生产环境的内容,但是在开发过程中 wwwroot/lib 存在是有意义的。所以我认为 asp.net 团队应该提供一些关于如何在开发与生产中管理客户端依赖项的指导,或者提供一种在发布时从 wwwroot 下排除特定文件夹的方法
    【解决方案2】:

    Project.json 文件中,您可以使用sources 部分中的publishExclude 属性在发布时指定要排除的文件。 https://github.com/aspnet/Home/wiki/Project.json-file#sources

    【讨论】:

      【解决方案3】:

      我也在寻找一种方法来排除wwwroot/lib 目录的发布,我遇到了this post from Scott Hanselman。在帖子中,他展示了如何更改 Bower 组件的存储位置(例如,从 wwwroot/lib/bower_components)。

      对我来说,这删除了 ​​wwwroot/lib 目录,因此这些库不再发布。我只是想我会把它扔在这里以防有人可以使用它。

      【讨论】:

        【解决方案4】:

        MS dropped support for bower_components and node_modules exclusion.NET Core 1.0 RTM 中。我能做到的最好的就是排除/src 文件夹,这样可以减少发布大小。

        Project.json(不包括 Bower Components SRC 文件

        "publishOptions": {
            "include": [
                "wwwroot",
                "Views",
                "Areas/**/Views/**",
                "appsettings.json",
                "web.config"
            ],
            "exclude": [ "wwwroot/**/src/**" ]
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-06-08
          • 1970-01-01
          • 2021-07-21
          • 2023-03-18
          • 2011-08-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多