C# .NET DLL 文件,并在 .NET Web 应用程序中使用它们

本文关键字:NET 应用程序 Web DLL 文件 并在 | 更新日期: 2023-09-27 18:34:53

我从以前的开发人员那里继承了一个 C# Web 应用程序项目,除了代码注释之外,他们没有为我留下任何文档,我花了一些时间来弄清楚他们以前做了什么。

因此,我在我们的团队服务 (TFS( 源代码管理中找到了类文件.cs它们在项目中使用的文件,并且我必须实现的更改之一是在其中一个类文件中。但是,我在生产服务器上找不到任何这些.cs文件。

后来我发现他们所做的是创建一个类库DLL文件并将其添加到生产中的Web应用程序中,这就是为什么我没有在生产中找到类文件的原因,它们在DLL文件中。

我看到了创建新的类库 DLL 的说明,这很简单。我的问题是,一旦我对类进行更改,我是否可以创建一个新的 DLL 文件并将其交换到项目中以替换以前的 DLL?,如果有错误,请将其交换回来?

还是比涉及的工作更多?

以前的开发人员没有使用开发服务器,而且源代码管理与生产应用程序不匹配,无法链接到生产服务器,制作开发服务器需要我做很多工作,所以现在我必须直接对生产站点进行更改。

C# .NET DLL 文件,并在 .NET Web 应用程序中使用它们

因此,我在我们的团队服务 (TFS( 源代码管理中找到了类文件.cs它们在项目中使用的文件,并且我必须实现的更改之一是在其中一个类文件中。但是,我在生产服务器上找不到任何这些.cs文件。

  • 这将是标准/正常的
  • 如果应用程序/网站未pre-compliled(在 dll 或一组 dll 中(,则只会在部署/生产中查找文件(.cs.vb(,否则将不存在源代码。通常,源文件将仅位于源代码管理(TFS/Git/等(和/或本地开发框中。

一旦我对类进行了更改,我是否可以创建一个新的DLL文件并将其交换到项目中以替换以前的DLL?,如果出现错误,请将其交换回来?

  • 为什么不先从 TFS 克隆(也称为"获取最新"(并在本地调试?
  • 然后,您可以编译应用程序并找出应该更新的dll/s

在这一点上,可以只覆盖更新/受影响的dll(通过代码更改(。是的,也可以通过保存(也称为"备份"(您将用新 dll 替换的"旧"dll 来"回滚 dll"。

不过,我会格外注意其他依赖项 - 不知道您的应用程序有多大,也不知道它有多少相互关联的依赖项。如果要更新某些外部库,请务必进行测试 - 有时依赖项是特定版本的

显然,并非所有更改都在编译的dll中(例如前端,脚本,数据等(,因此您必须确切地找出可能受影响的内容,测试,调试并制定回滚计划。

以前的开发人员没有使用开发服务器,并且源代码管理与生产应用程序不匹配

  • 他们的本地开发盒可能是完全可行的"开发环境">

  • 到什么程度...这里或那里的图像或文本可能是"确定的"(你必须知道这些东西是静态的还是动态生成/渲染的(。这可能是您的任务范围 - 回复:从现在开始同步本地、源代码管理和生产......


如果可能:

  • 将您的生产站点下载到本地机器,然后从本地机器运行它。
  • 将更改"推送"到本地副本,看看会发生什么。

虽然这听起来很"极端"(如果你有一个大型应用程序(,但你可能会发现在本地文件夹之间做"diff"更容易(所以即使是图像/等也可以"diffed"(。

呵......