Asp.net 在生产环境中更新单个.NET程序集

Asp.net 在生产环境中更新单个.NET程序集,asp.net,vb.net,deployment,webforms,.net-assembly,Asp.net,Vb.net,Deployment,Webforms,.net Assembly,是否有人知道用更新版本的程序集替换(复制+粘贴)程序集是否100%安全,其中所有版本历史记录(AssemblyInfo.vb)完全相同,但唯一的区别是其中一个aspx.vb文件中发生了微小的代码更改。如果您确定没有破坏现有代码,则是安全的(方法不再存在,…)。 如果手动加载程序集,请确保更新版本和标记 如果不确定是否可以将网站复制到其他文件夹中,请创建测试IIS实例并测试单个文件的部署 请记住,干净的部署是安全的,而不是单文件部署,如果您不十分小心,可能会导致破坏性的更改。这在测试实例上可能不是

是否有人知道用更新版本的程序集替换(复制+粘贴)程序集是否100%安全,其中所有版本历史记录(AssemblyInfo.vb)完全相同,但唯一的区别是其中一个aspx.vb文件中发生了微小的代码更改。

如果您确定没有破坏现有代码,则是安全的(方法不再存在,…)。 如果手动加载程序集,请确保更新版本和标记

如果不确定是否可以将网站复制到其他文件夹中,请创建测试IIS实例并测试单个文件的部署


请记住,干净的部署是安全的,而不是单文件部署,如果您不十分小心,可能会导致破坏性的更改。这在测试实例上可能不是问题,但永远不应该在现场执行。

这绝对是可能的,而且很容易做到,但很容易成为一种习惯,可能会对您产生负面影响当生产系统变得非常庞大,可能不稳定并且拥有大量用户时

我建议尝试或注意以下几种方法:

  • 根据项目创建一个或多个安装程序 在您的解决方案中。这些安装程序生成要安装的te可执行文件 在生产服务器上。这将手动完成。备份以前的 用于回滚的安装程序

  • 您可以创建应用程序。这可以手动运行,也可以使用稳定的调度应用程序进行调度

  • 一个人也可以利用 编译代码并将其设置为发布模式 生产空间上的文件/network/ftp。这将替换所有标记文件和程序集

  • 自动执行您可以使用和的过程 安排每日或每周的构建。可以进行这些安装 手动或可以使用SMS(Microsoft系统管理服务)来 安排及时安装

  • 也可以使用

TFS构建服务器和SMS当然会带来成本影响,但是 如果生产环境出现问题,这将是一个很小的代价 可以让一家公司垮台


有两种方法可以做到这一点。看看在生产环境中哪些方法可行并养成良好的习惯

这个问题的答案完全取决于您所说的“小代码更改”是什么意思。对于大多数小的更改都可以,但当然有几种类型的更改(修改常量、枚举、方法签名等)会导致中断更改。因此,一般来说,它不是100%安全的。