gpt4 book ai didi

ASP.NET:预编译文件的文件名生成规则

转载 作者:行者123 更新时间:2023-12-04 20:23:51 27 4
gpt4 key购买 nike

在预编译了一个 ASP.NET 网站后,我得到了许多名称如下的文件

App_Web_accountbalance.aspx。 dfa151d5 .dll

你知道上面随机字符(粗体)的规则吗?

我们可以修复随机字符吗?

修复它的原因是如果我们稍后修改AccountBalance.aspx文件并重新编译网站,我们是否可以只替换App_Web_accountbalance.aspx.dfa151d5.dll。

谢谢你。

最佳答案

字符不是随机的,而是更符合散列。目的是使文件名在bin文件夹中是唯一的。虽然不可取,但您可以仅替换某些文件来更新您的网站。如果修改AccountBalance.aspx 并重新编译,则需要替换App_Web_accountbalance.aspx.dfa151d5.dll、accountbalance.aspx.dfa151d5.compiled 以及您的aspx 文件所依赖的其他程序集和文件。

我从我的经验中得出了答案。我不是在寻找文件命名规则,而是一种仅部署已更改页面的程序集的方法,与原始帖子的原因相同。

设置:

一个 Web 应用程序,部署为不可更新(在 PrecompileApp.config 中可更新=“false”),预编译的程序集没有固定名称

我做了什么:

  • 对开发中的页面(例如 a.aspx)进行更改 (Visual Studio 2010)
  • 将具有固定命名的站点发布到本地驱动器(构建 > 发布网站,选中复选框:使用固定命名和单页程序集)
  • 转到本地发布站点的 bin 文件夹,查找 a.aspx.xxx.compiled
  • 用记事本打开文件并记下任何依赖项(例如 b.aspx、c.master)
  • 将所有受影响的程序集和 .compiled 文件复制到生产服务器的 bin 文件夹中。在这个例子中,它们是:
  • a.aspx.xxx.compiled
  • b.aspx.xxx.compiled
  • c.master.xxx.compiled
  • App_Web_a.aspx.xxx.dll
  • App_Web_b.aspx.xxx.dll
  • App_Web_c.master.xxx.dll

  • 如果你想知道我的故事,这个变化是由于计算中的一个因素发生了变化。客户很早就知道了这一变化,但直到它变得紧急才让我们知道。适当的部署会涉及其他各方和很多协调,为时已晚。另外,我只有两个版本的源代码,请求最新版本需要时间。因此,作为临时措施,需要针对该计算更改进行热修复。

    关于ASP.NET:预编译文件的文件名生成规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3298023/

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