.NET 是否将您的库放入 GAC?
Does .NET put your libraries into the GAC?
刚刚调试了一段时间的问题,当我部署应用程序时,它无法在 DLL 文件中找到 class。
最终发现它正在使用的 GAC 中有一个较旧的副本。
由于我没有设置服务器,所以我不知道它是如何到达那里的。
我自己在 .NET 中创建和编译的库如何最终出现在 GAC 中?它是作为发布到 IIS 或类似程序的一部分的自动过程,还是意味着有人在那里手动安装了它?
我只是想减轻未来的部署问题,因为跟踪这个问题很痛苦。
不,这不会自动发生。
从 GAC documentation 开始,这通常是由于:
- 使用专门为此设计的安装程序
- 运行 gacutil
如果这是一个 ASP.NET 应用程序,如果有人为此创建了一个安装程序,我会感到有些惊讶 - 似乎更有可能有人 运行 服务器上的 gacutil。
(幸运的是,GAC 在 .NET Core 中已经消失,所以随着时间的推移,这可能不再是一个问题。并不是说 .NET Core 没有版本控制问题...)
刚刚调试了一段时间的问题,当我部署应用程序时,它无法在 DLL 文件中找到 class。
最终发现它正在使用的 GAC 中有一个较旧的副本。
由于我没有设置服务器,所以我不知道它是如何到达那里的。
我自己在 .NET 中创建和编译的库如何最终出现在 GAC 中?它是作为发布到 IIS 或类似程序的一部分的自动过程,还是意味着有人在那里手动安装了它?
我只是想减轻未来的部署问题,因为跟踪这个问题很痛苦。
不,这不会自动发生。
从 GAC documentation 开始,这通常是由于:
- 使用专门为此设计的安装程序
- 运行 gacutil
如果这是一个 ASP.NET 应用程序,如果有人为此创建了一个安装程序,我会感到有些惊讶 - 似乎更有可能有人 运行 服务器上的 gacutil。
(幸运的是,GAC 在 .NET Core 中已经消失,所以随着时间的推移,这可能不再是一个问题。并不是说 .NET Core 没有版本控制问题...)