asp.net核心发布时没有/ bin-folder

时间:2018-02-18 00:43:21

标签: asp.net asp.net-core asp.net-core-2.0

我创建了一个小型的ASP.NET Core(2.0)项目,我认为它会以旧的ASP.NET 5的方式输出文件 - 但显然不是。

在过去,我会得到一个web.configbin/和我的.dll,以及我在部署到服务器时需要的其他内容。

对于新项目,我仍然得到web.config,但我的所有依赖项都紧挨着它。

我尝试将/p:WebPublishMethodFileSystem更改为PackageMSDeploy但仍然没有/bin - 文件夹。

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

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:1)

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

要修复此问题,请按照以下步骤操作...

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

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