【发布时间】:2012-01-19 07:26:36
【问题描述】:
我有一个类库项目。我正在通过命令“gacutil /i [dll 的路径]”将项目生成的这个 dll 安装到 GAC 中。此 dll 由 Windows 应用程序使用。当windows应用程序运行时,它成功地访问了dll的功能和属性。 现在我对 dll 进行了一些更改。我已经从 GAC 卸载了原始 dll,并将安装具有所需更改的新 dll。现在,当 Windows 应用程序使用此 dll 时,来自 dll 的新更改不会反映在应用程序中。当我将新的 dll 安装到 GAC 中时,新的更改应该会反映到应用程序中。 两个 dll 的名称、版本和公钥令牌相同。我认为这并不重要,因为我已经卸载了以前的 dll 并将新的 dll 安装到 GAC 中。
我做错了什么吗?请提出解决方案。
感谢和问候, 马尤尔·马哈詹
【问题讨论】:
-
你做了哪些改变?如果不重新编译您的应用程序,我可以想象到一些变化(例如常量的值)。鉴于你说它是一个“Windows 应用程序”,我不明白为什么它被标记为 asp.net。
-
你重启windows服务了吗?仅当您停止 Windows 应用程序/服务并重新启动时,这些更改才会反映出来。它将 dll 保存在内存中。
-
我认为你的建议可行..!我认为它将dll保存在内存中。您能否建议我如何重新启动 Windows 应用程序/服务。我不想以编程方式重新启动这个(taht 意味着不通过我的应用程序)。所以请建议一种手动方式。
标签: c# windows-services gac windows-applications