DotNet Core发布到文件系统结果在bin目录中重复多层深度

时间:2016-11-25 10:32:06

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

使用Visual Studio 2015 Update 3并发布一个Web项目(在这种情况下为Identity Server,但实际上并不相关)会导致Debug目录的复制过度,导致文件系统不再存在阅读。

PublishFolder /斌/的发布 /netcoreapp1.0/ 斌/调试/ netcoreapp1.0 / bin中...

在netcoreapp1.0目录的每个版本中,有两个目录:重复提及目录结构的 bin 和具有复制权的 UI 目录基础项目的UI目录。

这种情况持续了很多,我甚至无法使用Windows资源管理器或CMD来删除它。我必须使用像7Zip的文件管理器这样的独立工具。此外,即使删除级别,我也无法将该目录复制到其他任何位置,因为它无法说明它找不到其中一个被删除的目录,即使在删除后复制/粘贴也是如此。 / p>

是否有一个处理发布的脚本会在Release目录中放置一个永无止境的Debug / netcoreapp1.0 / bin ... repitition? (我也不知道为什么它会在/ Release下发布/ Debug,但是如果它不那么深,我可以忍受它。)

调试配置文件也会出现此问题。但在那里,它更深入。问题是,从源代码目录中删除Debug和Release目录后,它还会持续存在/返回。并且,即使在重建之后,所有部署。在源代码目录本身中,在构建之后,它只有一个级别(例如,Release / netcoreapp1.0 / bin / debug / netcoreapp1.0 / bin),但在发布时,它是多个级别深。

更新: 似乎在发布后,我可以简单地从根目录中删除/ bin目录,并且所有内容在部署后仍然可以正常运行。这个目录应该首先部署吗?

1 个答案:

答案 0 :(得分:1)

在帖子The basics of publishing your .NET Core web app

上找到标题为“无限及超越”的部分

在projects.json文件中,如果使用通配符包含所有.cshtml文件(例如**.cshtml),则发布将查找应用程序文件夹中的所有.cshtml文件,包括已发布到的文件。 bin文件夹。进一步发布将在bin文件夹中找到嵌套的.cshtml文件,并继续嵌套这些文件。在我的project.json文件中,我将publishOptions更改为:

"publishOptions": {
  "include": [
    "Views/**/*.cshtml",
      ...,
      ...
  ]
},