升级相关DLL而不重新编译整个应用程序

vij*_*jay 4 .net c# dll aspose.words

我们有使用Aspose.Words.NET版本11.10.0的Windows服务应用程序现在我们最近升级了Aspose.Words dll版本最新13.7.0

由于我们已经在多个客户端中部署了我们的Windows服务应用程序,因此我们尝试用最新的最新版本替换旧的Aspose.Words dll.但是当我们重新启动现有的Windows应用程序时,它不适用于替换的最新Aspose.Words dll.

我们通过重新编译引用最新版Aspose.Words dll的整个Windows应用程序来解决它.每次升级Aspose.Words dll时,我们是否需要重新编译和重新部署整个Windows服务应用程序?

Saq*_*zaq 8

也可以在SO上查看这个答案.

您需要更新桌面/ Web客户端的配置文件,如下所示.

<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <publisherPolicy apply="no" />
        <assemblyIdentity name="Aspose.Words"  publicKeyToken="716fcc553a201e56" />
        <bindingRedirect oldVersion="11.0.0.0-13.6.0.0"
                         newVersion="13.7.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
Run Code Online (Sandbox Code Playgroud)

另请注意,API中可能存在重大更改,这可能会导致其他错误.例如,在13.7中删除了存在于11.0中的方法或属性.当客户端应用程序调用特定的方法/属性时,将抛出异常.因此,您必须在开发环境中验证新版本不会破坏您的应用程序.如果它工作,那么你可以用新版本替换旧的DLL.

配置文件在运行时加载,因此您可以更新部署应用程序的配置文件.

我作为开发者布道者为Aspose工作.