VS 2015发布网站创建了大量的DLL

时间:2016-12-20 13:36:03

标签: visual-studio-2015

最近发生了一些奇怪的事情。我有一个项目是SPA,当我发布它时,它将所有wwwroot复制到主机(以及其中包含AspNet.dll的bin文件夹)。 我的最新项目发布了大量的DLL:

enter image description here

然后使用我的静态文件的wwwroot文件夹。 这似乎会导致问题(因为我们访问时网站会定期冻结)。如果我从FTP清除文件然后复制wwwroot的内容,它就可以工作。

有谁知道为什么会发生这种情况以及如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

这是一个asp.net核心应用程序。 Asp.net核心不像完整的.net框架,因为.dll文件可以假定在主机系统上,所以它必须复制构成asp.net核心的所有文件作为部署的一部分(有一种方法可以告诉它使用#34;本地"安装asp.net核心,但这并不是真正相关的,除非那是你打算做的事情)。这就是您在此处看到的内容 - 这些DLL文件是您的应用程序正常运行所必需的。删除它们是一个坏主意。

如果您认为它复制了您未实际使用的DLL,则需要检查您的引用并确保它们都没有引用您文件夹中的引用。

您不希望这些DLL文件存在于wwwroot文件夹中,这可能会导致安全风险。这是正确的行为。如果你看看现在的web.config文件,对于一个ASP.net核心应用程序,它只是将IIS引导到你的asp.net项目(你没有包含在你的截图中)。然后,您的项目将接管这些DLL的加载并执行您在startup.cs类中的配置。

  

这似乎会导致问题(因为我们访问网站时网站会定期冻结)。

你做了一个相当大的假设。如果您正在构建一个asp.net核心项目,那么您应该会看到这些DLL文件。如果您只是想提供静态HTML / CSS / JS文件,那么您不需要一个asp.net项目来实现,核心或其他方式 - IIS就是您所需要的。

您是否有自己网站的日志?您是否有任何关于冻结原因的其他信息?堆栈痕迹?事件日志?