C# 升级依赖DLL而不重新编译整个应用程序

C# 升级依赖DLL而不重新编译整个应用程序,c#,.net,dll,aspose.words,C#,.net,Dll,Aspose.words,我们的windows服务应用程序正在使用Aspose.Words.NET 11.10.0版,现在我们最近升级了Aspose.Words dll最新版本13.7.0 因为我们已经在多个客户端中部署了windows服务应用程序,所以我们尝试用最新版本替换旧的Aspose.Words dll。但是,当我们重新启动现有的windows应用程序时,它无法与替换的最新Aspose.Words dll一起工作 我们通过引用最新版本的Aspose.Words dll重新编译整个windows应用程序来解决这个问

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

因为我们已经在多个客户端中部署了windows服务应用程序,所以我们尝试用最新版本替换旧的Aspose.Words dll。但是,当我们重新启动现有的windows应用程序时,它无法与替换的最新Aspose.Words dll一起工作

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

也请检查

您需要更新桌面/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>

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

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


我作为开发人员传道者为Aspose工作。

请参阅程序集重定向主题。非常感谢。我尝试了第二个答案的方法,“特定版本”已经设置为false。但我仍然得到了错误,而配置文件中的程序集绑定重定向工作正常。知道我做错了什么吗?