asp.net core 发布上没有 /bin 文件夹

问题描述 投票:0回答:3

我制作了一个小型 ASP.NET Core (2.0) 项目,我认为它会像旧的 ASP.NET 5 一样输出文件 - 但显然不是。

在过去,我会得到一个

web.config
,一个
bin/
和我的
.dll
,以及部署到我的服务器时我还需要什么。

在新项目中,我仍然得到

web.config
,但我所有的依赖项都位于它旁边。

我尝试将

/p:WebPublishMethod
FileSystem
更改为
Package
MSDeploy
,但对我来说仍然没有
/bin
文件夹。

为什么我的所有文件都在我的发布文件夹的根目录中?

asp.net asp.net-core asp.net-core-2.0
3个回答
9
投票

发布 ASP.NET Core 项目将创建一个可以按原样部署的输出结构。输出格式适合自托管和通过 IIS 托管。

没有

bin
文件夹只是因为不需要有一个文件夹。这是已发布的输出,而不仅仅是中间构建输出。托管您的应用程序需要发布目录中的所有文件。


0
投票

我刚刚将网站从 VS2017 切换到 VS2019,并且遇到了同样的问题。我发现 VS2019 有全新的发布设置,并且从 VS2017 过来时这些设置似乎没有正确初始化。发布时不进行预编译,而是对所有未编译的 .aspx.cs 文件进行发布。

要修复它,请按照以下步骤操作...

  • 在“构建”、“发布 Web 应用程序”下,设置要发布到的文件夹配置文件后,在摘要部分中会有一个配置设置。单击“配置行”上的铅笔图标。
  • 这将显示发布设置
  • 打开文件发布选项
  • 开启“发布期间预编译”
  • 保存设置并点击“发布”

现在就像在VS2017中一样,有一个dll文件的bin目录。


0
投票

你能弄清楚吗? ASP.NET Core 仍然在根目录下发布所有 dll 依赖项。这看起来确实不太有组织。这应该是一个很常见的问题,但在任何地方都找不到解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.