2

我有一个使用自定义 .NET 库(一个 .DLL 文件)的 ASP.NET 应用程序。该 .DLL 文件是强命名的。该库有频繁的小更新,我希望能够在不重新编译应用程序的情况下更新这个 .DLL。必须预编译该应用程序,因为我不想将它的源代码提供给我的客户(不是说它不能被反编译,但这不是重点)。

这可以以某种方式完成吗?目前我只是收到一个错误,即 .DLL 的版本错误。

4

3 回答 3

5

您可以为他们提供更新的配置文件以使用新的 dll。此配置需要有一个自定义版本策略,将请求从一个 dll 重定向到另一个。有关更多信息,请参阅本文


实际上这篇文章有更多关于整个过程的信息,以及您可以定义版本策略的不同级别。

于 2009-05-14T08:37:12.027 回答
0

您可以使用反射在运行时动态加载程序集。Activator.CreateInstance 应该可以解决问题。

IMyInterface myObject = (IMyInterface)Activator.CreateInstance( "TheAssemblyName",
                                            "TheTypeName",
                                            null )

如果您使用的是 .Net 3.5,则可以使用插件和可扩展性。看看这里:http: //msdn.microsoft.com/en-us/library/bb384241.aspx

于 2009-05-14T08:41:14.170 回答
0

也许你可以把强类型的dll放在gac中,最后做dll版本控制,这样旧版本总是可用的,新的只会被新编译的应用程序使用,旧的应用程序将使用它们的旧dll版本,直到它们被再次编译和部署。

希望这可能会有所帮助。

于 2009-05-14T10:04:32.410 回答