gpt4 book ai didi

c# - 无法使用 "Precompile during publishing"选项部署网站

转载 作者:行者123 更新时间:2023-11-30 16:51:47 26 4
gpt4 key购买 nike

我正在尝试发布我的网络应用。

这是我的发布配置文件设置的图片: enter image description here

如您所见,我选中了“发布期间预编译”选项。

这里是“Precompile during publish”的配置设置。 enter image description here

选中此选项并尝试发布我的网络应用程序时,我在其中一个页面上收到错误消息。当我将鼠标悬停在选项卡上以查看文件位置时,该位置位于:C:\Users\akemp.WT\AppData\Local\Temp\WebSitePublish...这不是我的源代码的位置,如果我在我的本地页面上进行更改,上面给定路径中的站点不会更新。

当我取消选中“发布期间预编译”选项时,我的网站发布没有任何麻烦。

这是怎么回事?

最佳答案

预编译意味着您的所有源代码(包括网站项目的 aspx.cs 文件、app_code 文件夹下的类文件、resx 文件、global.asax 文件,甚至 aspx 文件 - 除非“允许预编译站点updatable"被选中)被组合并编译成程序集。

global.asax 将拥有自己的程序集,app_code 将拥有自己的程序集,resx 文件将编译为每个文件夹的程序集,而源代码的其余部分(aspx、aspx.cs)将编译为单个(和巨大的,取决于页数)程序集,所有这些都将作为 dll 文件位于 Web 应用程序的 bin 文件夹中。

如果您不预编译,这些资源(例如 aspx 文件)将与针对该页面的第一个请求一起编译。

这将使您能够在不回收应用程序的情况下进行 aspx 和 aspx.cs 部署。

并且由于网站不能同时进行预编译和按需编译,VS 无法在您的源代码所在的位置运行您发布的网站。但是如果你不预编译,你的源代码可以直接提供(因为第一个请求将编译资源,编译的程序集将在 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP .NET 文件(或影子程序集的另一个明确设置的临时路径)

关于c# - 无法使用 "Precompile during publishing"选项部署网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33519225/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com