我制作了一个小型 ASP.NET Core (2.0) 项目,我认为它会像旧的 ASP.NET 5 一样输出文件 - 但显然不是。
在过去,我会得到一个
web.config
,一个 bin/
和我的 .dll
,以及部署到我的服务器时我还需要什么。
在新项目中,我仍然得到
web.config
,但我所有的依赖项都位于它旁边。
我尝试将
/p:WebPublishMethod
从 FileSystem
更改为 Package
和 MSDeploy
,但对我来说仍然没有 /bin
文件夹。
为什么我的所有文件都在我的发布文件夹的根目录中?
发布 ASP.NET Core 项目将创建一个可以按原样部署的输出结构。输出格式适合自托管和通过 IIS 托管。
没有
bin
文件夹只是因为不需要有一个文件夹。这是已发布的输出,而不仅仅是中间构建输出。托管您的应用程序需要发布目录中的所有文件。
我刚刚将网站从 VS2017 切换到 VS2019,并且遇到了同样的问题。我发现 VS2019 有全新的发布设置,并且从 VS2017 过来时这些设置似乎没有正确初始化。发布时不进行预编译,而是对所有未编译的 .aspx.cs 文件进行发布。
要修复它,请按照以下步骤操作...
现在就像在VS2017中一样,有一个dll文件的bin目录。
你能弄清楚吗? ASP.NET Core 仍然在根目录下发布所有 dll 依赖项。这看起来确实不太有组织。这应该是一个很常见的问题,但在任何地方都找不到解决方案。